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

Dockerfile 中 Expose 命令的作用

Dockerfile 中 Expose 命令的作用

格式是:EXPOSE <端口1> [<端口2>...]

例如: EXPOSE 8080 8081 8082

特别注意:

EXPOSE 指令是声明容器运行时提供服务的端口,请注意这只是一个声明,并没有实际作用,在容器运行时并不会因为这个声明应用就会开启这个端口的服务。

好处:

既然没有实际作用,为什么还要有这个命令呢?

在 Dockerfile 中写入这样的声明有两个好处,一个是帮助镜像使用者理解这个镜像服务的守护端口,以方便配置映射;另一个用处则是在运行时使用随机端口映射时,也就是 docker run -P 时,会自动随机映射 EXPOSE 的端口。

注意事项:

要将 EXPOSE 和在运行时使用 -p <宿主端口>:<容器端口> 区分开来。-p,是映射宿主端口和容器端口,换句话说,就是将容器的对应端口服务公开给外界访问,而 EXPOSE 仅仅是声明容器打算暴露什么端口而已,并不会自动在宿主进行端口映射。


http://www.kler.cn/news/359638.html

相关文章:

  • Spring 中的 @AUtowire 和 @Resource 用法和原理,以及避坑
  • 24.安卓逆向-frida基础-objection工具3-实战
  • RabbitMQ系列学习笔记(八)--发布订阅模式
  • linux线程 | 同步与互斥 | 线程池以及知识点补充
  • 轻帆云移动端智能语音提单:一键触达,智能工单新体验,助力高效运营
  • 分布式篇(分布式事务)(持续更新迭代)
  • 出栈序列的合法性判断
  • PyCharm借助MobaXterm跳板机连接服务器
  • laydate.laydate.render()开始日期和结束日期选择器互相限制选择值动态生效
  • 了解 ChatGPT 中的公平性问题
  • 基于MATLAB的混沌序列图像加密程序
  • 深入理解计算机系统--计算机系统漫游
  • 专题:数组(已完结)
  • 企业一级流程架构规划方法
  • 如何在Docker中运行Squid
  • 3.Three.js程序基本框架结构和API说明
  • 微软运用欺骗性策略大规模打击网络钓鱼活动
  • 【自用】做完项目怎么使用git仓库进行代码的管理/上传/下载
  • 爬虫学习——26.JS逆向(2)
  • 安装配置sqoop(超详细)