端口映射是Docker容器与宿主机通信的重要机制,允许将容器内部的端口暴露给外部网络。以下是Docker端口映射的详细说明和操作方法:
docker run -p [HOST_PORT]:[CONTAINER_PORT] [IMAGE]
docker run -p 8080:80 nginx
docker run -p 80 nginx
docker run -p 192.168.1.100:8080:80 nginx
docker run -p 8080:80 -p 8443:443 nginx
docker run -p 53:53/udp dns-server
docker port [CONTAINER]
查看特定容器的端口映射情况
docker ps
查看运行中容器的端口映射(在PORTS列)
在docker-compose.yml文件中:
services:
web:
image: nginx
ports:
- "8080:80"
- "8443:443"
docker run -p 8000-9000:8000-9000 myapp
docker run --network host nginx
此时容器直接使用宿主机的网络栈,无需端口映射
通过以上方法,您可以灵活地配置Docker容器的端口映射,满足不同场景下的网络访问需求。