Dockerfile 中 Expose 命令的作用

Dockerfile 中 Expose 命令的作用

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

例如: EXPOSE 8080 8081 8082

特别注意:

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

好处:

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

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

注意事项:

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

相关推荐
翻滚吧键盘1 小时前
记录一个连不上docker中的mysql的问题
mysql·docker·容器
忘忧人生2 小时前
docker 部署 java 项目详解
java·docker·容器
ks胤墨6 小时前
Docker快速部署高效照片管理系统LibrePhotos搭建私有云相册
运维·docker·容器
忘忧人生8 小时前
docker 安装 redis 详解
redis·docker·容器
栗子~~18 小时前
docker-compose的方式搭建 kafka KRaft 模式集群
docker·kafka·linq
周杰伦_Jay20 小时前
详细介绍:持续集成与持续部署(CI/CD)技术细节(关键实践、CI/CD管道、优势与挑战)
程序人生·ci/cd·docker·微服务·云原生·容器·人机交互
骑台风走1 天前
ubunut22.04安装docker(基于阿里云 Docker 镜像源安装 Docker)
阿里云·docker·容器
仇辉攻防1 天前
【云安全】云原生-Docker(五)容器逃逸之漏洞利用
安全·web安全·网络安全·docker·云原生·容器·安全性测试
SomeBottle1 天前
【小记】在 Google Colab 等平台上运行 GPU 容器
linux·python·docker·学习笔记·容器化·斩虫
风霜不见闲沉月1 天前
Docker常用知识点问题
docker