Ports
暴露端口。要么指定两个端口(HOST:CONTAINER),要么只指定容器端口(将随机选择一个主机端口)。
- docker-compose.yml中提到的端口将在docker-compose启动的不同服务中共享。
- 端口将暴露给主机一个随机端口或一个给定的端口。
docker-compose.yml
看起来像。
mysql。
image: mysql:5.7
ports:
- "3306"
docker-compose ps
后它将看起来像。
名称 命令 状态 端口
mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:32769->3306/tcp
Expose
暴露端口而不将其发布到主机上 - 它们将只被链接的服务访问。只有内部端口可以被指定。
端口不会暴露给主机,只暴露给其他服务。
mysql。
image: mysql:5.7
expose:
- "3306"
docker-compose ps
,它将看起来像。
名称 命令 状态 端口
mysql_1 docker-entrypoint.sh mysqld Up 3306/tcp
在最近版本的Dockerfile中,EXPOSE
不再有任何操作上的影响,它只是提供信息。