欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 06_docker 网络类型

06_docker 网络类型

2025/4/3 11:34:12 来源:https://blog.csdn.net/weixin_72819498/article/details/146917093  浏览:    关键词:06_docker 网络类型

    当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连接在了一个二层网络中。 

docker网络类型(包括不限于):bridge(桥接网络)、host(主机网络)、none(封闭网络)

查看docker默认网络

docker network ls

1.docker bridge网络(常用)

   这是 Docker 默认的网络类型。当你创建一个容器时,如果不特别指定网络,它就会连接到默认的桥接网络上。可以把桥接网络想象成一个虚拟交换机

(1)修改docker网络默认的网段

vim /etc/docker/daemon.json
{"registry-mirrors": ["https://w1uieoaw.mirror.aliyuncs.com"],"bip": "192.168.200.1/24"    
}

#重启docker

systemctl restart docker

#查看ip网段

2bridge网络的容器访问外部网络端口映射

在创建容器的时候可以指定这个容器的端口与主机端口的映射关系(端口映射):

-P(大写): #该参数会分配镜像中所有的会使用的端口,并映射到主机上的随机端口

-p:  #可以指定主机与容器的端口关系,冒号左边是主机端口,右边是映射到容器端口

#创建容器时映射端口

命令格式:docker run -id --name容器名 -P -p 宿主机端口:容器端口 镜像名

docker run -id --name nginx-1.26 -P -p 422:22 nginx:1.26.1

#查看容器端口映射

docker port nginx-1.26

2.docker host网络

     使用host网络的主机,与宿主机共享网络地址,可以获得最好的数据转发性能。缺点是,同一个宿主机上的多个容器共享同一个ip地址,如果多容器使用相同的端口,需要自行解决端口冲突问题。

1使用host网络

选项参数:

--net   #指认要使用的网络,包含bridge、host、none

docker run -id --name mysql-5.7 --net host mysql:5.7

(2)查看容器网络

docker exec -it mysql-5.7 ifconfig

###可以看到容易设置为host网络之后,将直接共享宿主机的所有网卡

3.docker none网络(使用较少)

   故名思议,none网络就是什么都没有的网络。使用none网络的容器除了lo,没有其他任何网卡,完全隔离。用于既不需要访问外部服务,也不允许外部服务访问自己的应用场景。

#创建容器时指定网络

选项参数:

--net   #指认要使用的网络,包含bridge、host、none

docker run -id --name centos7 --net none centos

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词