Docker网络 EXPOSE -P -p之间的区别与联系

本文介绍了Docker中EXPOSE、-p和-P选项的区别和联系。EXPOSE和--expose仅用于声明端口,但不实际映射到宿主机。-p用于指定端口映射,允许从宿主机访问容器服务。-P则会自动映射EXPOSE的端口,避免端口冲突。
摘要由CSDN通过智能技术生成

说明

1. 通过EXPOSE或者–expose暴露端口

在dockerfile 中通过EXPOSE暴露端口和在docker run --expose 暴露端口的作用是一样的,都是将端口暴露,但这个暴露的端口不依赖宿主机,默认情况下,我们无法通过这些端口访问宿主机,换句话说,也就是没有与宿主机的网络建立网络映射。

2. 通过-p发布特定端口

ip:hostPort:containerPort| ip::containerPort | hostPort:containerPort | containerPort

-p 指定发布特定端口的方式有四种,其发布的端口有两部分:

  • 暴露端口
  • 与宿主机网络建立映射
    也就是可以通过宿主机的网络访问到docker容器
docker run -p 3000 my_image

如果运行时,只指定containerPort, 则宿主机的端口会随意指定,这种方式的好处是,让宿主机自主分配未占用的端口,防止手动指定端口,绑定端口已经被占用的情况

3. -expose/EXPOSE和-p对比

-expose/EXPOSE只暴露端口,不与宿主机建立网络映射;
-p: 暴露端口并建立网络映射

4. -P和EXPOSE发布端口

因为EXPOSE通常只是作为记录机制,也就是告诉用户哪些端口会提供服务,Doc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值