外部访问容器
容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P
或 -p
参数来指定端口映射。
当使用 -P
标记时,Docker 会随机映射一个 49000~49900
的端口到内部容器开放的网络端口。
-p
则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器。支持的格式有ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort
,其中 hostPort
表示外部端口,containerPort
表示容器端口。
接下来我们来看一些简单的示例:
映射所有地址接口
docker run -d -p 5000:5000 training/webapp python app.py
映射到指定地址的指定端口
docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
映射到指定地址的任意端口
docker run -d -p 127.0.0.1::5000 training/webapp python app.py
默认都是 TCP 端口,还可以使用 udp
标记来指定 UDP 端口:
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
查看映射端口配置
docker port nostalgic_morse 5000
-p
标记可以多次使用来绑定多个端口:
docker run -d \
-p 5000:5000 \
-p 3000:80 \
training/webapp \
python app.py
No Comments