如何找到docker的run(启动命令)

  • 使用python三方库进行 需要安装python解释器

安装runlike安装包

pip3 install runlike 

运行命令

runlike -p <container_name>  # 后面可以是容器名和容器id,-p参数是显示自动换行

实验

  • 使用docker启动一个jenkins
    启动命令为
docker run -d \
-p 9002:8080 \
-p 50000:50000 \
-v /usr/local/jenkins:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /python_project/zhaotong:/var/zhaotong \
-v /usr/local/python3.9:/var/python3.9/bin \
-v /python_project/everyday_check:/var/everyday_check \
-v /usr/local/jenkins/workspace/everyday_check/allure-result:/var/everyday_check/report/temp_jsonreport \
-v /usr/bin:/var/bin \
-v /lib64/:/var/lib64 \
-u root \
--restart=always \
--name=jenkins \
jenkins/jenkins

使用 runlike - p 容器id号为

docker run --name=jenkins \
	--hostname=0da4efaead25 \
	--user=root \
	--mac-address=02:42:ac:11:00:02 \
	--volume=/var/run/docker.sock:/var/run/docker.sock \
	--volume=/usr/local/jenkins/workspace/everyday_check/allure-result:/var/everyday_check/report/temp_jsonreport \
	--volume=/usr/bin:/var/bin \
	--volume=/usr/local/jenkins:/var/jenkins_home \
	--volume=/usr/bin/docker:/usr/bin/docker \
	--volume=/usr/local/python3.9:/var/python3.9/bin \
	--volume=/python_project/everyday_check:/var/everyday_check \
	--volume=/lib64/:/var/lib64 \
	--volume=/etc/localtime:/etc/localtime \
	--volume=/python_project/zhaotong:/var/zhaotong \
	--network=bridge \
	-p 50000:50000 \
	-p 9002:8080 \
	--restart=always \
	--runtime=runc \
	--detach=true \
	jenkins/jenkins

结论: 是可信的,只是-v写成了--volume=等差别
在这里插入图片描述

<think>好的,我现在要解决用户的问题:在使用docker run启动容器时如何添加启动命令。我需要先理解用户的需求。用户可能是在使用Docker时,想要在启动容器时执行特定的命令,但不太清楚如何操作。接下来,我要回忆Docker的相关知识,并结合提供的引用内容来组织回答。 首先,docker run的基本语法是docker run [OPTIONS] IMAGE [COMMAND] [ARG...]。这里的COMMAND就是启动命令,用户需要知道如何替换或添加这个部分。例如,如果镜像默认启动的是某个应用,但用户想覆盖这个默认命令,可以直接在镜像名后面加上新的命令。 然后,我需要考虑不同情况。比如覆盖镜像默认命令的情况,用户可能想运行一个临时的命令,比如启动一个bash shell或者执行一个一次性任务。比如docker run ubuntu echo "Hello",这个例子能说明问题。 接下来是追加参数的情况。如果镜像的默认命令是某个可执行文件,用户可能想传递额外的参数。比如docker run nginx nginx -t,这里COMMAND是nginx,ARG是-t,用来测试配置。 然后需要提到如何查看容器原来的启动命令,这可能帮助用户了解之前的参数。根据引用2和3,可以使用runlike工具,通过安装后运行runlike <容器名>来查看原来的启动参数,这样用户可以参考之前的命令进行调整。 还要注意用户可能的疑问,比如命令和参数的位置,是否需要覆盖ENTRYPOINT等。这时候需要解释--entrypoint选项的作用,但用户的问题主要是添加启动命令,可能不需要深入这部分,不过提一下可能有帮助。 另外,要确保示例正确,比如使用正确的镜像名称和命令。例如,使用ubuntu镜像运行echo,或者nginx运行特定命令。同时,提醒用户如果镜像有ENTRYPOINT,COMMAND会作为参数传递,这时候可能需要调整。 最后,总结关键点,确保用户清楚如何在docker run中指定命令,以及如何查看历史命令。这样用户就能根据需求灵活使用docker run了。</think>在`docker run`命令中,指定容器启动命令的语法为`docker run [OPTIONS] IMAGE [COMMAND] [ARG...]`。您可以直接在镜像名称`IMAGE`后添加需要执行的命令和参数,具体分为以下两种情况: --- ### 1. **覆盖镜像默认命令** 若镜像本身定义了默认启动命令(如通过`CMD`或`ENTRYPOINT`),直接在镜像名称后添加`[COMMAND]`会覆盖默认命令。 **示例**: ```bash # 覆盖Ubuntu镜像的默认命令,改为输出"Hello" docker run ubuntu echo "Hello" # 运行Python镜像并直接执行Python脚本 docker run python:3.9 python -c "print('Hello from Python')" ``` --- ### 2. **向默认命令追加参数** 若需保留镜像的默认命令但添加额外参数,可将参数放在命令后。 **示例**: ```bash # 在Nginx镜像的默认启动命令后添加"-t"参数(测试配置) docker run nginx nginx -t # 在Redis镜像启动时添加配置文件路径 docker run redis redis-server /etc/redis/custom.conf ``` --- ### 3. **查看容器原始启动命令** 若需调试或参考已有容器启动参数,可通过工具`runlike`查看历史命令[^2][^3]: ```bash # 安装runlike pip3 install runlike # 查看容器启动命令(替换<容器名>) runlike <容器名> ``` --- ### 关键注意事项 - 如果镜像定义了`ENTRYPOINT`,则`docker run`中的`[COMMAND]`会作为参数传递给`ENTRYPOINT`。 - 使用`--entrypoint`选项可完全覆盖`ENTRYPOINT`,例如: ```bash docker run --entrypoint /bin/bash nginx ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值