docker compose.yml
根据docker compose的参考资料
端口定义为:
暴露端口。指定两个端口(主机:容器),或仅指定容器端口(将选择一个随机主机端口)
- docker-compose.yml中提到的端口将在docker-compose启动的不同服务之间共享
- 端口将向主机公开到随机端口或给定端口
我的docker compose.yml看起来像:
mysql:
图片:mysql:5.7
端口:
-“;3306“;
如果我使用docker compose ps,它将看起来像:
命名命令状态端口
-------------------------------------------------------------------------------------
mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:32769->;3306/tcp
暴露定义为:
公开端口而不将其发布到主机-它们只能由链接的服务访问。只能指定内部端口
端口不向主机公开,只向其他服务公开
mysql:
图片:mysql:5.7
揭露:
-“;3306“;
如果我使用docker compose ps,它将看起来像:
命名命令状态端口
---------------------------------------------------------------
mysql_1 docker-entrypoint.sh mysqld Up 3306/tcp
编辑
在Dockerfile的最新版本中,EXPOSE不再有任何操作影响,它只是提供信息。(另见)