expose指令用法
- 该
EXPOSE
指令通知 Docker 容器在运行时侦听指定的网络端口,可以指定端口是侦听 TCP 还是 UDP,如果未指定协议,则默认为 TCP。
EXPOSE 80/tcp EXPOSE 80/udp
EXPOSE
指令实际上不会发布端口。它充当构建映像的人员和运行容器的人员之间的一种文档,用于发布要发布的端口。若要在运行容器时发布端口,请使用-p
flag ondocker run
发布和映射一个或多个端口,或使用-P
flag 发布所有公开的端口并将它们映射到高阶端口- 无论设置
EXPOSE
如何,都可以在运行时使用-p
标志覆盖它们
docker run -p 80:80/tcp -p 80:80/udp ...
- 要在主机系统上设置端口重定向,请参阅使用 -P 标志
该 docker network
命令支持创建用于容器之间通信的网络,而无需公开或发布特定端口,因为连接到网络的容器可以通过任何端口相互通信
使用 -P
标志启动容器以暴露其端口
-
-P
(或--publish-all
) 标志将所有公开的端口发布到主机。Docker 将每个公开的端口绑定到主机上的随机端口。该
-P
标志仅发布显式标记为公开的端口号, 标志允许将容器中的单个端口或端口范围显式映射到主机。
容器内的端口号(服务侦听的位置)不需要与容器外部发布的端口号(客户端连接的位置)匹配。例如,在容器内部,HTTP 服务可能正在侦听端口 8080。在运行时,端口可能绑定到主机上的 8400。
docker run --name grasp -p 8400:8080 -p 443:443 -d grasp
要查找主机端口和公开端口之间的映射,请使用以下 docker port
命令。
标签:容器,expose,端口,指令,EXPOSE,Docker,80,docker From: https://www.cnblogs.com/shuqing0803/p/18100886