Docker port命令

docker port命令教程

docker port 命令可以用于列出指定的 Docker容器 的端口映射,或者将容器里的端口映射到宿主机。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。

docker port语法

haicoder(www.haicoder.net)# docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

案例

无端口映射

使用 docker run -it -d 命令,启动一个 dokcer容器。

haicoder(www.haicoder.net)# docker run --name haicoder -it -d centos c32d8f59d0df17a87f3a2523da576b67fbcbf9b533dcd0be7c71913ade41e419

使用 docker port 命令,列出该 docker容器的端口映射。

haicoder(www.haicoder.net)# docker port haicoder haicoder(www.haicoder.net)#

此时,终端没有输出任何端口映射的情况。

使用 docker killdocker rm 命令,删除所有容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`

列出端口映射

使用 docker run -it -d 命令,启动一个 dokcer 容器。

haicoder(www.haicoder.net)# docker run -it -d --name haicoder -p 8081:80 centos e50208fb8f874f0454e014b3494fe84172cfe8fc072f76cb2601db06652532e8

使用 docker port 命令,列出该 docker容器的端口映射。

haicoder(www.haicoder.net)# docker port haicoder

此时,终端输出如下,所示:

28 docker port.png

即 docker 容器内部的 80 端口被导出为了宿主机的 8081 端口。

使用 docker kill 和 docker rm 命令,删除所有容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`

列出指定协议的端口映射

使用 docker run -it -d 命令,启动一个 dokcer容器。

haicoder(www.haicoder.net)# docker run -it -d --name haicoder -p 8081:80 centos 0b18b91e1be6a643bc77a119701e350732f506783227426fd57c703f2674edcc

使用 docker port 命令,列出该 docker 容器的 tcp 协议的端口映射。

haicoder(www.haicoder.net)# docker port haicoder 80/tcp

此时,终端输出如下,所示:

29 docker port.png

即此时只列出了基于 tcp 协议的端口映射情况,如果将上面命令的 ‘80/tcp’ 换成 ‘80/udp’ 将不会有任何的端口映射被输出。

使用 docker kill 和 docker rm 命令,删除所有容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`

docker port命令总结

docker port 命令可以用于列出指定的 Docker容器的端口映射,或者将容器里的端口映射到宿主机。

使用 docker port PRIVATE_PORT[/PROTO] 的形式可以列表指定协议的端口映射情况。