首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么端口需要用冒号分隔两次?

为什么端口需要用冒号分隔两次?
EN

Stack Overflow用户
提问于 2017-05-26 17:05:59
回答 2查看 5K关注 0票数 23

很多时候,我从组合中的码头联网页面看到两次用冒号描述的端口,比如这个Docker文件:

代码语言:javascript
运行
复制
version: "3"
services:

  web:
    build: .
    ports:
      - "8000:8000"
  db:
    image: postgres

networks:
  default:
    # Use a custom driver
    driver: custom-driver-1

我经常想知道为什么"8000:8000"而不是简单的"8000"

然后我看到了这个例子,它有两个不同的端口:

代码语言:javascript
运行
复制
version: "3"
services:
  web:
    build: .
    ports:
      - "8000:8000"
  db:
    image: postgres
    ports:
      - "8001:5432"

有人能解释一下这个端口表示是什么意思吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-26 17:10:19

第一个端口是主机端口,第二个端口是远程端口(即容器中的端口)。该表达式将远程端口限制为本地端口。

在这个例子中,您将容器的8080端口映射为主机的8080端口,但是使用不同的端口是完全正常的(例如: 48080:8080)

票数 18
EN

Stack Overflow用户

发布于 2020-04-13 00:19:48

如果省略了发布端口的“主机”端口和“:”端口,例如。'docker run -d -p 3000 myimage'.Docker将自动为您分配一个(高编号)主机端口。您可以通过运行'docker ps‘来查看它。

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

https://stackoverflow.com/questions/44206827

复制
相关文章

相似问题

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