Docker -p是指將 Docker 容器內(nèi)部的端口映射到外部主機(jī)的指定端口,從而使外部主機(jī)可以訪問該容器內(nèi)的服務(wù)。Docker -p 命令的語(yǔ)法如下:
docker run -p [hostport]:[containerport] [image_name]
其中 [hostport] 表示主機(jī)端口,[containerport] 表示 Docker 容器內(nèi)的端口,[image_name] 表示 Docker 鏡像名稱。以下是 Docker -p 的一些使用案例。
# 映射80端口到主機(jī)的8080端口 docker run -p 8080:80 nginx # 映射容器內(nèi)的端口到隨機(jī)主機(jī)端口 docker run -P nginx # 映射多個(gè)端口 docker run -p 8080:80 -p 9000:9000 nginx # 映射UDP端口 docker run -p 5000:5000/udp nginx
需要注意的是,如果 Docker 容器內(nèi)的服務(wù)綁定了特定的 IP 地址,也需要將該 IP 地址映射到外部主機(jī)的 IP 地址。
Docker -p 的優(yōu)點(diǎn)在于可以多個(gè)容器之間創(chuàng)建端口映射,從而共享主機(jī)的端口資源。同時(shí),在容器遷移或者重建時(shí),只需要更新 Docker -p 命令,而不需要修改服務(wù)配置文件,非常方便。