运维
PythonJava前端数据库
Docker
Docker
  • Docker简介
  • 基本概念
    • 镜像
    • 容器
    • 仓库
  • 安装
  • 使用镜像
    • 获取镜像
    • 列出镜像
    • 删除镜像
    • 导入和导出
  • Dockerfile
    • 构建镜像
    • 多阶段构建
    • 构建多种系统架构支持的镜像
    • Dockerfile 命令介绍
      • COPY 复制文件
      • ADD 更高级的复制
      • CMD 容器启动命令
      • ENTPYPOINT 入口点
      • ENV 设置环境变量
      • ARG 构建参数
      • VOLUME 匿名卷
      • USER 指定当前用户
      • EXPOSE 暴露端口
      • WORKDIR 工作目录
      • SHELL 指令
      • LABEL 为镜像添加源数据
      • ONBUILD 为他人作嫁衣裳
  • 数据管理
    • 数据卷
    • 挂载主机目录
  • 操作容器
    • 启动、停止和删除
    • 进入容器
    • 导入和导出
    • 重启策略
  • 网络配置
    • 基本网络配置
    • 高级网络配置
  • Docker Buildx
    • 使用buildx构建镜像
    • 使用buildx构建多种系统架构镜像
  • Docker Compose
    • 简介
    • 简单使用
    • 多个配置文件
    • Compose网络配置
    • 控制启动服务启动顺序
    • 命令说明
  • Kubernetes
由 GitBook 提供支持
在本页

这有帮助吗?

  1. Dockerfile
  2. Dockerfile 命令介绍

EXPOSE 暴露端口

该指令指定 Docker 容器在运行时监听的网络端口。你可以指定监听TCP还是UDP,如果不指定协议,则默认监听TCP。

EXPOSE 指令并不发布端口,这里只是声明容器在运行时使用什么端口访问。想要在运行时公开端口,使用docker run命令配合-p选项来公开映射一个或多个端口,或者使用-P标志来映射所有公开的端口。

默认情况下,EXPOSE 监听 TCP,你还可以指定UDP:

EXPOSE 8000/udp

此时如果你想映射公开的端口到你的宿主机上:

# host:container
myimagenamme

如果想同时公开TCP和UDP,需要同时添加两种协议的端口声明:

EXPOSE 8000/tcp
EXPOSE 8000/udp
docker run -p 80:80/tcp -p 80:80/udp ...
上一页USER 指定当前用户下一页WORKDIR 工作目录

最后更新于1年前

这有帮助吗?