加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Docker更改端口绑定

发布时间:2020-12-16 03:37:23 所属栏目:安全 来源:网络整理
导读:我正在使用暴露的端口80运行一个容器(让我们称之为old_container),并使用-p标志将端口绑定到端口80上的主机接口. sudo docker run -p 80:80 -i -t 在我的生产环境中,我想立即从old_container切换到new_container.所以我想关闭old_container并启动new_contain

我正在使用暴露的端口80运行一个容器(让我们称之为old_container),并使用-p标志将端口绑定到端口80上的主机接口.

sudo docker run -p 80:80 -i -t < old-image-id >

在我的生产环境中,我想立即从old_container切换到new_container.所以我想关闭old_container并启动new_container.

首先,我必须在new_container中进行一些手动更改.所以我在没有-p标志的情况下运行它,因为在完成此更改之前我无法将其绑定到端口80.

sudo docker run -i -t < new-image-id >
#now I m doing my manual changes

当我完成更改后,我会注销new_container.我的计划现在是停止old_container并将new_container绑定到端口80.但是[start] [1]命令不提供端口绑定的可能性.

所以提出我的问题:我正在寻找为已停止的容器设置端口绑定,最好没有创建new_container的提交映像并将此映像作为另一个新容器运行的解决方法.

最佳答案
你的用例听起来不错,在PROD上看到docker非常有趣.您将要做的手动更改是什么?虽然,我认为你的问题的解决方案可能是

1)附加&拆卸集装箱(How do I attach to a running Docker container later?)

docker attach container_name
ctrl p ctrl q

2)运行docker exec命令

docker run -it -p 80:80 –name = old_container< old-image-id>

上面的命令将创建一个名为“old_container”的容器

docker exec -d< old_container> mkdir foo

上面的命令将在运行容器的主文件夹上创建foo目录.我想你可以把你的手动更改作为脚本代替’mkdir foo'(我从未尝试过)

P.S:docker exec仅可从docker 1.3版本获得

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读