首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何自定义码头集装箱的数量和端口后,它完成第一次执行?

如何自定义码头集装箱的数量和端口后,它完成第一次执行?
EN

Stack Overflow用户
提问于 2019-12-20 01:32:26
回答 3查看 623关注 0票数 0

我是码头的新手(集装箱化的东西)。我正在尝试学习GCP (CentOS 7实例)中的docker,并将我的简单交互式python程序进行容器化。我成功地为我的python程序创建了一个坞映像。

我怀疑当我跑的时候

docker运行-it 我的图像名

一个容器被派生出一个名为“classy”的随机名称,我的程序成功地执行了...and,没有问题。

问题是,有没有办法为我现有的容器添加港口和容量,即“古典式-棕色”?

每次我运行这个命令

docker运行-it 我的图像名

创建了一个新容器?我为什么要这么做?

请帮我解决这个问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-12-20 02:52:45

不,不能在已经创建的容器上设置卷或端口。您可以使用docker start -it <container_id> or <conatiner_name>多次交互地使用容器。

如果您想在容器上设置一个卷或端口,您应该在容器创建过程中使用这样的码头运行命令;

代码语言:javascript
运行
复制
docker run -p 80:80 -v /home/somedir:/foo --name my_container

如果您想一遍又一遍地使用同一个容器,只需使用码头起跑命令即可。

代码语言:javascript
运行
复制
docker start -it my_container

请注意,-it可以在docker startdocker run上进行交互访问。如果不想使用tty访问容器,只需省略-it标志即可。

如果您想访问已经运行的容器,可以使用docker exec命令。关于它的更多信息,您可以找到这里

票数 2
EN

Stack Overflow用户

发布于 2019-12-20 02:29:16

欢迎来到StackOverflow。您可以在启动容器时传递“- name”参数,以给它一个自定义名称。

此外,您可以使用'-p‘选项来公开特定的端口。

看看这个页面,看看所有的docker run选项-

https://docs.docker.com/v17.12/engine/reference/commandline/run/#options

票数 0
EN

Stack Overflow用户

发布于 2019-12-20 08:40:03

可以通过手工编辑iptable规则来添加新的端口映射,但我认为这不是一个好做法。此外,如果您运行docker ps,这个新添加的映射将不可见.

如果您需要将REALY添加端口映射或将卷挂载到您已经在运行的容器中。您可以通过以下方式将此容器提交到图像

代码语言:javascript
运行
复制
docker commit <container-id>

停止并移除容器,然后使用-p-v运行新映像,如下所示:

代码语言:javascript
运行
复制
docker run -p <port-mapping> -v <mount> <commited-image>

请注意,如果容器很大(容器层中有大量数据),commit可能会花费很长时间。

不要太依赖这种方法,但是在运行容器之前要三思。

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59418876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档