EXPOSE是Dockerfile中的一个指令,用于声明容器在运行时监听的网络端口。它的基本语法是:
EXPOSE <port> [<port>/<protocol>...]
docker inspect
等命令读取-p
或-P
参数配合使用时提供参考信息-p
或-P
参数:实际端口映射需要在docker run
时指定# 暴露单个TCP端口
EXPOSE 80
# 暴露多个端口
EXPOSE 80 443
# 指定UDP端口
EXPOSE 53/udp
# 混合TCP和UDP
EXPOSE 80/tcp 53/udp
docker run -P
时,Docker会自动将EXPOSE的端口映射到宿主机的高位随机端口EXPOSE更多是作为一种文档和元数据存在,实际的网络连接能力需要通过-p
参数或网络配置来实现。