原创

docker-compose中ports和expose的区别

戎码一生
0 条评论
4 人喜欢
123 次阅读
全文共 255 预计阅读时长 2 分钟

日常docker使用中,有很多容器间访问的需要,docker-compose中有两种方式可以暴露出容器的端口portsexpose

ports

官网释义如下

Either specify both ports (HOST:CONTAINER), or just the container port (an ephemeral host port is chosen).

ports可以暴露容器端口到主机的任意端口或者指定的端口

ports
- 6379:6379 # 绑定容器的6379端口到主机的6379端口
- 6378:6379 # 绑定容器的6379端口到主机的6378端口
- 6379 # 绑定容器的6379端口到主机的任意端口

所以,无论是哪种写法,ports都会暴露出端口给主机,无非是否指定暴露端口而已

expose

官网释义如下

Expose ports without publishing them to the host machine - they’ll only be accessible to linked services. Only the internal port can be specified.

从官网解释就很容易看出,expose不会把容器端口暴露给主机,而只是暴露给link到当前容器的其他容器

expose
- 6379 # 绑定容器的6379端口给其他容器使用
相关文章
0 条评论

暂无评论