Networking 为什么需要用冒号分隔两次指定端口?
很多时候,我在页面的Docker Compose文件中看到两次使用冒号描述端口: 我经常想知道为什么Networking 为什么需要用冒号分隔两次指定端口?,networking,docker,port,docker-compose,Networking,Docker,Port,Docker Compose,很多时候,我在页面的Docker Compose文件中看到两次使用冒号描述端口: 我经常想知道为什么“8000:8000”,而不仅仅是“8000” 然后我看到了这个示例,它有两个不同的端口: version: "3" services: web: build: . ports: - "8000:8000" db: image: postgres ports: - "8001:5432" 有人能解释一下这个端口表示法是什么意思吗?第
“8000:8000”
,而不仅仅是“8000”
然后我看到了这个示例,它有两个不同的端口:
version: "3"
services:
web:
build: .
ports:
- "8000:8000"
db:
image: postgres
ports:
- "8001:5432"
有人能解释一下这个端口表示法是什么意思吗?第一个端口是主机的端口,第二个是远程端口(即:在容器中)。该表达式将远程端口绑定到本地端口
在本例中,您将容器的8080端口映射到主机的8080端口,但如果省略了发布端口的“主机”端口和“:”,则使用不同的端口(例如:48080:8080)是完全正常的,例如,“
docker run-d-p3000 myimage
”。Docker将自动为您分配(高数量)主机端口。您可以通过运行“docker ps
”来查看它
version: "3"
services:
web:
build: .
ports:
- "8000:8000"
db:
image: postgres
ports:
- "8001:5432"