当前位置: 首页 > article >正文

docker容器暴露端口的作用

Docker 镜像中**暴露的端口(通过 EXPOSE 指令声明)**主要有以下作用和意义:

1. 文档化作用(Documentation)

  • 显式声明容器内部服务监听的端口,告知用户或开发者该镜像提供的服务需要通过哪些端口通信。
  • 例如,一个 Web 服务器镜像可能暴露 80 端口,表示容器内服务运行在 80 端口(用于接受 HTTP 请求)。

2. 运行时端口映射的提示

  • 运行容器时,可通过 -p 参数将宿主机的端口映射到容器暴露的端口,实现外部访问。

  • 例如:

    # 将宿主机的 8080 端口映射到容器的 80 端口
    docker run -p 8080:80 my-web-image# 效果:访问本地的 http://localhost:8080,会直接转发到容器的 80 端口,对应容器内服务监听的端口。# 如果容器内服务监听的是 80 端口,但映射的时候用了 90 端口,那是访问不到的。
    
  • 如果镜像未声明暴露端口,用户需自行查阅文档或代码才能知道需要映射的端口。

3. 自动端口映射(使用 -P 参数)

  • 使用 docker run -P 时,Docker 会自动将宿主机的高位随机端口(如32768+)映射到容器所有暴露的端口

  • 例如:

    # 自动分配宿主机端口到容器暴露的端口(如 32768->80)
    docker run -P my-web-image
    

4.总结与补充

EXPOSE ≠ 实际开放端口。

EXPOSE 仅声明意图,不会自动开放端口到宿主机。必须通过 -p 或 -P 显式映射才能从外部访问。

http://www.lryc.cn/news/2384038.html

相关文章:

  • 每日Prompt:像素风格插画
  • Windows逆向工程提升之二进制分析工具:HEX查看与对比技术
  • Android10如何设置ro.debuggable=1?
  • 2024游戏安全白皮书:对抗激烈!PC游戏外挂功能数增长超149%,超85%移动外挂为定制挂(附获取方式)
  • 深度解析:Spark、Hive 与 Presto 的融合应用之道
  • 12kV 环保气体绝缘交流金属封闭开关设备现场交流耐压试验规范
  • 位图算法——判断唯一字符
  • HarmonyOS 鸿蒙应用开发基础:父组件调用子组件方法的几种实现方案对比
  • 复盘20250522
  • 【UE5】环形菜单教程
  • Athena 执行引擎:在线服务计算的效率王者
  • 飞桨paddle ‘ParallelEnv‘ object has no attribute ‘_device_id‘【已解决】
  • Bert预训练任务-MLM/NSP
  • 微信小程序之Promise-Promise初始用
  • 准备好,开始构建:由 Elasticsearch 向量数据库驱动的 Red Hat OpenShift AI 应用程序
  • spring的注入方式都有什么区别
  • RNN神经网络
  • Linux | 开机自启动设置多场景实现
  • 杨校老师竞赛课之青科赛GOC3-4年级组模拟题
  • 设计杂谈-工厂模式
  • SC3000智能相机-自动存图
  • (高级)高级前端开发者指南:框架运用与综合实战
  • 【Java高阶面经:微服务篇】5.限流实战:高并发系统流量治理全攻略
  • 2025中青杯数学建模B题思路+模型+代码
  • 记录:uniapp 上线部署到微信小程序vendorjs包过大的问题
  • 如果教材这样讲--碳膜电阻、金属氧化膜电阻、金属膜电阻、保险丝电阻、绕线电阻的区别和用途
  • Vue 3.0中异步组件defineAsyncComponent
  • dedecms织梦全局变量调用方法总结
  • 新手到资深的Java开发编码规范
  • asp.net core 添加 EntityFrame