跳到主要内容

Port Forwarding

2024年07月04日
柏拉文
越努力,越幸运

一、认识


端口映射(Port Mapping)或者端口转发 (Port Forwarding) 在主机上将容器的端口映射到外部访问。例如,将容器的 80 端口映射到主机的 8080 端口。

二、语法


docker run -d --name xx -p yyyy:zzzz [镜像]

-p: 将容器 zzzz 端口转发到宿主机 yyyy 端口。后续通过 宿主机IP:yyyy 就可以访问容器服务

三、测试


3.1 Nginx 端口转发

// 1. 启动 Nginx , 作为容器1
docker run -d --name nginx1 -p 9091:80 nginx:latest
// 2. 启动 Nginx , 作为容器2
docker run -d --name nginx2 -p 9092:80 nginx:latest
// 3. 进入容器1, curl 容器2 服务,curl 地址为 宿主机IP:9092
docker exec -it nginx1 bash
curl 192.168.0.106:9092

宿主机IP: 可以通过 ifconfig en0 | awk '/inet / {print $2}' 获取