欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Docker初级网络端口映射的配置

程序员文章站 2022-09-06 16:52:47
端口映射docker容器启动之前,如果不进行端口映射,在容器外部是无法通过网络来访问容器内的网络应用和服务。因为容器中常常会运行一些网络应用和服务,如果想在容器外部通过网络来访问容器内的网络应用和服务...

端口映射

docker容器启动之前,如果不进行端口映射,在容器外部是无法通过网络来访问容器内的网络应用和服务。因为容器中常常会运行一些网络应用和服务,如果想在容器外部通过网络来访问容器内的网络应用和服务,就需要对该容器进行端口映射,可以通过docker run命令中的-p-p选项来进行端口映射。

随机端口映射

当通过docker run命令中的-p选项来进行端口映射时,docker会随机映射一个端口到容器开放的网络端口。

nginx为例,先拉取nginx的镜像。

再以nginx镜像创建容器nginx.1,使用-p选项来进行随机的端口映射。

通过docker ps -l命令,可以看到本地主机的32775端口被映射到了容器的80端口。此时访问本地主机的32775端口即可访问容器内nginx应用提供的界面。

Docker初级网络端口映射的配置

通过docker logs nginx.1命令,可以看到刚刚用浏览器访问容器中nginx应用提供的界面的记录。

指定端口映射

通过docker run命令中的-p选项来进行指定的端口映射。将本地主机的8083端口映射到容器的80端口。

此时访问本地主机的8083端口即可访问容器内nginx应用提供的界面。

Docker初级网络端口映射的配置

通过docker logs nginx.2命令,同样可以看到刚刚用浏览器访问容器中nginx应用提供的界面的记录。

通过docker ps命令,可以看到之前创建的两个容器的端口映射都是在本地主机的0.0.0.0上。

网上对于0.0.0.0的解释

首先,0.0.0.0是不能被ping通的。在服务器中,0.0.0.0并不是一个真实的的ip地址,它表示本机中所有的ipv4地址。监听0.0.0.0的端口,就是监听本机中所有ip的端口。

指定地址的指定端口映射

可以通过ip:hostport:containerport这种格式来进行指定地址的指定端口映射,比如127.0.0.1:8083

通过docker inspect nginx.3命令,也可以看到端口映射信息。

下面这条命令启动不了容器,因为它会默认使用0.0.0.0,报错的原因也正是如此 - 地址已在使用中address already in use

而下面这条命令却可以启动容器。

通过docker ps -a命令,可以看到所有容器的一些信息。

指定地址的随机端口映射

可以通过ip::containerport这种格式来进行指定地址的随机端口映射,比如127.0.0.1的随机端口。

可以看到docker将127.0.0.132768端口映射到了容器的80端口,而这个32768端口是由docker随机指定的。

多个端口映射

使用多个-p选项即可进行多个端口映射。

查看端口映射配置

docker port命令可以查看容器的端口映射配置。

docker容器的端口映射就介绍到这里。

到此这篇关于docker初级网络端口映射的配置的文章就介绍到这了,更多相关docker 端口映射内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: Docker 端口映射