[docker]docker run指定entrypiont

本文介绍Docker中启动容器的不同方式,包括使用`docker run`命令指定入口点的常见错误及正确做法,通过脚本和Dockerfile配置启动容器的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指定entrypiont

  • 错误的姿势
 docker run -itd -v /tmp/:/tmp/ jdk-ori 'java -jar /tmp/sms.jar'
  • 正确的姿势1
 docker run -itd -v /tmp/:/tmp/ jdk-ori java -jar '/tmp/sms.jar'
  • 正确姿势2:
docker run -it -itd -v /tmp/:/tmp/ --entrypoint /srv/java/jdk/bin/java jdk-ori -jar /tmp/sms.jar


 --entrypoint "/srv/java/jdk/bin/java -jar"  这样是不支持的, 这个传参方式不能加参数 ,而dockerfile里则可以
  • 正确姿势3: 挂脚本方式
$ cat /tmp/entry.sh
#!/bin/bash
java -jar $1

docker run -it --rm -v /tmp/:/tmp/ --entrypoint "/tmp/entry.sh" jdk-ori /tmp/sms.jar

也可以指定这些:
https://docs.docker.com/engine/reference/run/#entrypoint-default-command-to-execute-at-runtime

CMD (Default Command or Options)
ENTRYPOINT (Default Command to Execute at Runtime)
EXPOSE (Incoming Ports)
ENV (Environment Variables)
HEALTHCHECK
VOLUME (Shared Filesystems)
USER
WORKDIR

如何在k8s里指定docker run -w 的workdir

806469-20171114113423468-1377705586.png

$ cat centos.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: my-centos
  labels:
    app: centos
spec:
  containers:
  - name: my-centos
    image: centos:6.8
    imagePullPolicy: IfNotPresent
    command: ["top","-b"]
    env:
      - name: PWD
        value: "/tmp"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值