2017-05-26 187 views
0

很多时候,我看到两次冒号在此泊坞撰写文件从Docker Networking in Compose页面描述类似的端口:为什么端口需要指定两次用冒号分隔?

version: "3" 
services: 

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

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

我经常在想,为什么"8000:8000"而不是简单"8000"

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

version: "3" 
services: 
    web: 
    build: . 
    ports: 
     - "8000:8000" 
    db: 
    image: postgres 
    ports: 
     - "8001:5432" 

有人可以解释这个端口表示的含义吗?

回答

1

第一个端口是主机端口,第二个端口是远程端口(即:在容器中)。该表达式将远程端口绑定到本地端口。

在此示例中,将容器的8080端口映射到主机的8080端口,但完全正常哟使用不同端口(例如:48080:8080)