ports
暴露端口,映射宿主机和容器的端口,结构为【宿主机:容器】
ports:
- "3000" # 宿主机随机分配一个端口
- "8181:80" # 宿主机8181端口映射到容器80端口
expose
expose没有暴露端口到宿主机,它的主要作用就是声明容器在某个端口提供服务。所以,我的理解是expose
主要是为了便于以后维护,告知容器在指定端口上能够提供服务。
参考
- https://*.com/questions/40801772/what-is-the-difference-between-docker-compose-ports-vs-expose
- https://docs.docker.com/compose/compose-file/compose-file-v3/#ports