修改Docker镜像中默认的command

修改Docker镜像中默认的command

情况:在docker官方仓库种docker pull下来的镜像 通常都包含默认的启动命令,当run起来容器时 该命令会自动被执行 如图所示
在这里插入图片描述
修改镜像默认的命令:
(1)先将该容器打包成镜像 docker export 容器id>xxx.tar
(2)然后根据打包好的tar包 重新导入成新的镜像
cat xxx.tar |docker import – 镜像名:标签
(3)用新生成得镜像run一个新的容器
docker run –d 新镜像名:标签 新command

在Linux Ubuntu中,如果你想让Docker容器在系统启动时自动运行,你需要做以下几个步骤: 1. **创建并启动容器**: 首先,确保你已经有一个Dockerfile,它包含了构建镜像所需的所有指令。然后,通过`docker build -t your_image_name .`命令来构建镜像,并用`docker run -d --name your_container_name your_image_name`命令启动一个守护进程模式的容器。 `-d`表示后台运行, `--name`指定容器的名称, `your_image_name`是你刚刚构建的镜像名。 2. **添加启动脚本到entrypoint或command**: Docker容器默认使用`ENTRYPOINT`(如果没有定义的话,默认是`["sh", "-c"]`)或`CMD`(如果`ENTRYPOINT`不存在的话)来启动容器内的程序。你可以将启动脚本添加到这里,使其成为容器启动时执行的命令。 示例: ``` ENTRYPOINT ["/usr/local/bin/startup.sh"] ``` 或者在Dockerfile中: ``` CMD ["./startup.sh"] ``` 其中`startup.sh`是包含启动服务命令的shell脚本。 3. **配置自动重启**: 虽然Docker本身不会直接管理容器的自动重启,但你可以利用systemd、Upstart或者其他类似的服务管理系统(如Ubuntu的systemd)来监控容器状态并自动重启。这通常涉及到编辑服务配置文件(如systemctl、init.d等),并设置适当的重启策略。 4. **设置systemd服务**: 如果你选择systemd,可以在/etc/systemd/system目录下创建一个新的服务文件,比如`docker-your_container.service`,然后编写启动、停止、重启命令和健康检查规则。最后使用`sudo systemctl enable docker-your_container.service`来启用这个服务,使其在系统启动时自动运行。 记得在修改了服务文件之后,使用`sudo systemctl daemon-reload`更新systemd配置,再使用`sudo systemctl start docker-your_container.service`启动新的服务。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值