示例
root@sx-virtual-machine:/userdata/testOnebuttonDeploy/shsany_ai/kyai_x86_ubuntu/tools/seaweedfs# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4dd35df8b491 kyai_seaweedfs_x86:v1.0.0_20230508 "/entrypoint.sh volu…" 6 minutes ago Up 6 minutes 7333/tcp, 8333/tcp, 8888/tcp, 9333/tcp, 18080/tcp, 18888/tcp, 19333/tcp, 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp kyai_seaweedfs_volume
2aa49ddf167b kyai_seaweedfs_x86:v1.0.0_20230508 "/entrypoint.sh mast…" 2 hours ago Up 2 hours 7333/tcp, 8080/tcp, 8333/tcp, 8888/tcp, 18080/tcp, 18888/tcp, 19333/tcp, 0.0.0.0:9333->9333/tcp, :::9333->9333/tcp kyai_seaweedfs_master
其中:
-
port/tcp
表示容器内部的端口号和协议类型; -
0.0.0.0:port1->port2/tcp
表示将主机的端口号映射到容器内部的端口号,其中0.0.0.0
表示监听所有的网络接口; -
:::port1->port2/tcp
表示将主机的端口号映射到容器内部的端口号,其中:::
表示监听所有的IPv6网络接口。
注意: port/tcp
显示有两种方法,一种是在Dockerfile中使用EXPOSE指令指定,另一种是在运行容器时使用--expose
参数指定。
例如,在Dockerfile中指定容器暴露80端口和443端口,可以使用以下指令:
EXPOSE 80 443
在运行容器时使用--expose
参数指定容器暴露的端口,例如:
docker run --expose 80 --expose 443 image_name
这样,在使用docker ps
命令查看容器信息时,对应的端口信息就会显示为port/tcp
,例如:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3f279d17e0a nginx "nginx -g 'daemon of…" 7 seconds ago Up 6 seconds 80/tcp, 443/tcp romantic_morse
可以看到,容器内部暴露的80端口和443端口对应的端口信息分别为80/tcp
和443/tcp
。(这个主要是一个显示功能,我们即使不EXPOSE,容器也能正常运作的,主要是方便给人看的)文章来源:https://www.toymoban.com/news/detail-625733.html
20230511
注意:docker ps 显示的容器内暴露端口和映射端口是不重复的,如果把一个容器内暴露端口做成了端口映射形式,那么它将不会出现在坐标容器内暴露端口的列表中。文章来源地址https://www.toymoban.com/news/detail-625733.html
到了这里,关于docker端口含义(docker容器端口映射、容器内部端口)(port/tcp、0.0.0.0:port1->port2/tcp、:::port1->port2/tcp)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!