17·容器操作入门

端口映射

端口映射

核心概念

# -p 宿主机端口:容器端口
docker run -d -p 8080:80 nginx
# 访问 http://localhost:8080 → 容器的 80 端口

# 映射多个端口
docker run -d -p 8080:80 -p 8443:443 nginx

# 随机端口
docker run -d -P nginx  # 随机分配宿主机端口

# 只允许本地访问
docker run -d -p 127.0.0.1:8080:80 nginx

# 查看端口映射
docker port my-nginx

端口映射图

宿主机                 容器
┌──────────┐         ┌──────────┐
│ :8080    │────────▶│ :80      │
│ :8443    │────────▶│ :443     │
└──────────┘         └──────────┘

常见问题

# 端口被占用
docker: Error response from daemon: Bind for 0.0.0.0:8080 failed: port is already allocated

# 解决:换端口或停止占用进程
lsof -i :8080

小结

语法说明
-p 8080:80映射端口
-P随机端口
-p 127.0.0.1:8080:80仅本地
docker port查看映射

练习编辑器

bash
Loading...