【发布时间】:2013-10-20 13:19:32
【问题描述】:
我不确定我是否在这里误解了某些内容,但似乎只能通过从图像创建新容器来设置端口映射。有没有办法将端口映射分配给现有的 Docker 容器?
【问题讨论】:
-
使用 iptables 可能会像这个答案一样工作 Exposing a Port on a Live Docker Container
-
我怀疑这是设计使然。 Docker 试图强迫你是“可重复的”,而容器是一种“记录系统”。您作为不影响容器的步骤所做的任何事情都将是一个容易丢失的手动步骤。换一种说法:您希望您的容器代表操作所需的所有配置。所以如果你想打开一个新的端口,那么你需要创建一个新的容器。
-
老问题,我不回答了,但我想说,也许你和提出这个问题和答案的人可能完全误解了 docker 的概念。 Docker 用于无状态应用程序,可以多次扩展或缩减。对于无法重新创建的生产环境,您永远不应该在容器内保留某些内容,如果您需要保留,请映射目录。 Docker 不是一个“轻量级虚拟机”之类的东西,也许你正在寻找的是 linuxcontainers.org,lxd 是基于 docker 概念但考虑到了一个“轻量级虚拟机”。
-
以防万一这可能会有所帮助,可以使用“Kitematic”工具将端口映射添加到已经运行的容器。这应该意味着必须有 docker 命令来做完全相同的事情,但需要一点谷歌搜索:) 祝你好运
标签: docker port lxc linux-containers