外部访问容器


容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -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

Vote Vote Cancel Collect Collect Cancel

<< 上一篇: 挂载主机目录

>> 下一篇: 容器互联