docker run 容器启动后,想要新增端口映射和设置自动重启的方式
关于新增自动重启 (新版本docker支持,老版本不支持,请看第二种方式)
一。要在已经运行的 Docker 容器中增加自动重启的选项,你可以使用 docker update
命令来更新容器的配置。具体步骤如下:
-
首先,使用
docker ps
命令列出所有正在运行的容器,并找到你想要设置自动重启的容器的 CONTAINER ID 或者名称。 -
然后,使用
docker update
命令来更新容器的配置,添加--restart
参数来设置自动重启的策略。例如,下面的命令将容器设置为始终自动重启:docker update --restart=always <CONTAINER ID 或者名称>
如果你只想在容器停止时才进行自动重启,可以使用
on-failure
选项:docker update --restart=on-failure:5 <CONTAINER ID 或者名称>
这个命令将在容器失败时尝试重启,最多重试 5 次。
请注意,这种方法设置的重启策略只对当前运行的容器有效,如果容器被删除或者重新创建,你需要重新设置重启策略。如果你想要永久性地设置重启策略,建议在创建容器时使用 docker run
命令或者在 Docker Compose 文件中设置。
二. 第二种办法
实际上,要在已经运行的容器中设置自动重启策略,你需要停止该容器,然后使用 docker run
命令重新启动容器,并在启动命令中设置 --restart
参数。
下面是一个示例,假设你已经有一个名为 my_container
的容器:
-
首先,停止该容器:
docker stop my_container
-
然后,使用
docker run
命令重新启动容器,并在启动命令中设置--restart
参数来指定自动重启策略。例如,下面的命令将容器设置为始终自动重启:docker run --restart=always my_container
如果你只想在容器停止时才进行自动重启,可以使用
on-failure
选项:docker run --restart=on-failure:5 my_container
这样,你就可以在重新启动容器时设置自动重启策略。如果你需要永久性地设置重启策略,建议在创建容器时使用 docker run
命令或者在 Docker Compose 文件中设置。
关于新增端口映射
- 停止容器
docker stop container_id
- 将旧的容器提交成镜像
docker commit container_id new-images-name
- 使用新镜像build 容器,
docker run -it -d --name container-name -p p1:p1 -p p2:p2 new-image-name
参考来源
https://blog.csdn.net/weixin_43865008/article/details/122111611
[chatgpt]