【问题标题】:Edit docker container settings while container is running在容器运行时编辑 docker 容器设置
【发布时间】:2017-08-10 17:19:54
【问题描述】:

我有一个使用端口映射运行的 docker 容器。

cce2ca6eb83b nginx "nginx -g 'daemon off" 5 秒前 Up 3 seconds 0.0.0.0:80->80/tcp www-nginx

现在我想将主机端口从 80 更改为 8080。我该怎么做?

码头工人更新

没有任何更改网络设置的选项。

【问题讨论】:

  • 我认为你应该停止运行容器,更新 Dockerfile 中的导出端口,重建你的镜像,然后再次运行容器。另外,请确保主机上的 8080 端口上没有任何东西在监听。

标签: docker


【解决方案1】:

您无法编辑正在运行的容器的端口映射。 docker update 命令用于防止容器从其 Docker 主机消耗过多的资源,也用于动态设置重启策略,但不用于端口映射。

您想要实现的解决方法可能是从当前容器创建一个新映像,然后使用端口 8080 从新创建的映像启动一个新容器,如下所示:

docker stop www-nginx
docker commit www-nginx www-nginx-2
docker run -p 8080:80 -td www-nginx-2

【讨论】:

  • 我已经知道这个解决方案,但想知道是什么让 docker 在创建容器后不允许更新网络设置...
【解决方案2】:

您不能编辑容器上的端口映射,您必须创建一个新容器。

【讨论】:

    猜你喜欢
    • 2022-10-04
    • 2018-05-22
    • 2020-10-22
    • 2022-01-19
    • 2012-04-06
    • 2022-01-21
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    相关资源
    最近更新 更多