首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头联网:为什么我可以有两个打开同一个港口的集装箱?

码头联网:为什么我可以有两个打开同一个港口的集装箱?
EN

Stack Overflow用户
提问于 2017-12-12 20:30:00
回答 1查看 46关注 0票数 0

我理解-p的端口映射。据我所知,我只能在主机网络上的一个港口上映射我的集装箱港口:

代码语言:javascript
复制
$ docker run -d -p 8080:80 nginx

由于已经在运行一个容器,所以在8080上没有其他容器映射其端口。这个端口8080将映射到docker0端口80,等等,在码头-集装箱-港口80.

但我真的不明白为什么我可以再吃一次

代码语言:javascript
复制
$ docker -run -d -p 8888:80

我必须在主机的另一个端口上映射我的端口(8888),但是为什么我的docker0网络可以打开端口802次?后面有两个集装箱,有80个港口。我知道很管用,但我只是不明白为什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-12 20:47:08

每个容器在单独的网络命名空间中运行。这是一个孤立的网络环境,不与主机共享网络资源(地址、接口、路由等)。当您在容器中启动服务时,就好像您已经在另一台机器上启动了它。

就像您的网络上可以有两台不同的机器在端口80上运行with服务器一样,您的主机上也可以有两个不同的容器,with服务器运行在端口80上。

因为它们位于不同的网络名称空间中,所以没有冲突。

有关网络命名空间的更多信息:

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

https://stackoverflow.com/questions/47781042

复制
相关文章

相似问题

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