docker run 容器启动后,想要新增端口映射和设置自动重启的方式

发布时间 2023-11-09 14:27:50作者: 学不会xuebuhui

关于新增自动重启 (新版本docker支持,老版本不支持,请看第二种方式)

一。要在已经运行的 Docker 容器中增加自动重启的选项,你可以使用 docker update 命令来更新容器的配置。具体步骤如下:

  1. 首先,使用 docker ps 命令列出所有正在运行的容器,并找到你想要设置自动重启的容器的 CONTAINER ID 或者名称。

  2. 然后,使用 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 的容器:

  1. 首先,停止该容器:

    docker stop my_container
    
  2. 然后,使用 docker run 命令重新启动容器,并在启动命令中设置 --restart 参数来指定自动重启策略。例如,下面的命令将容器设置为始终自动重启:

    docker run --restart=always my_container
    

    如果你只想在容器停止时才进行自动重启,可以使用 on-failure 选项:

    docker run --restart=on-failure:5 my_container
    

这样,你就可以在重新启动容器时设置自动重启策略。如果你需要永久性地设置重启策略,建议在创建容器时使用 docker run 命令或者在 Docker Compose 文件中设置。

关于新增端口映射

  1. 停止容器
    docker stop container_id
    
  2. 将旧的容器提交成镜像
    docker commit container_id new-images-name 
    
  3. 使用新镜像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]