Linux:docker的基础网络模式

常用语句

docker network --help #查看network帮助

docker network connect #将将容器连接到网络

docker network create #新建网络,默认bridge桥接模式

docker network disconnect #断开容器与网络的连接

docker network inspect #查看网络具体信息

docker network ls #列出网络

docker network prune #删除所有未使用的网络

docker network rm #删除网络


这里介绍的网络就是容器和主机之间连接的网络,分别是桥接,主机,空 三种网络,这三个就是一种网络连接的模式,但是模式不止这三种,我这里介绍几个较为经典的


1.bridge

桥接模式,如果你在启动容器的时候没有带network网络参数,则默认使用bridge
bridge就是和你真机的docker0进行一个连接,并通向外网,他还会在你的真机上生成一个接口和docker容器进行一个连接

复制代码
docker run -it --name u1  --network bridge ubuntu:ubuntu /bin/bash

和

docker run -it --name u1  ubuntu:ubuntu /bin/bash


都是使用bridge网络进行连接

这是容器内部的可以和我们真机进行一个连接,ip也是由真机的docker0进行分配的

这个是宿主机的网络情况,可以看到他是和我们docker0在一个网段上,并且主机还会新加了一个网卡,把我们的宿主机变成了一个"交换机"使用网络接口对容器进行连接,我们的真机的38号接口和容器内的37号接口进行了一个连接

复制代码
docker inspect u1

2.host

host就主机模式,直接让容器使用主机进行对外发布服务,用了这个模式就不需要去映射了 ,当我们在容器内开了个服务,就相当于在真机上直接开了服务,同时要避免端口的冲突

复制代码
docker run -it --network host --name u2 ubuntu:ubuntu /bin/bash

当我们使用了主机模式发现直接出来的是真机网卡的内容

实际上他就使用的是我们真机的网卡


3.none

和他的名字一样,是个没有网络的。只有一个回环网络

复制代码
docker run -it --network none --name u3 ubuntu:ubuntu /bin/bash

可以发现他只有一个本地回环网卡,没法和外界进行网络通信,所以这种网络模式使用的较少


4.container

复用别人的网络,是直接用别人的,而不是复制别人的网络模式
并不是你是bridge模式,那我也是bridge模式并获取新的ip
而是我直接使用你的网卡,假如你的ip是192.168.1.1那我也是192.168.1.1你的网卡是bridge我肯定也是,也就是我就是用的你的网卡。

相关推荐
遇见火星几秒前
Linux下挂载磁盘相关命令
linux·运维·服务器·磁盘·lsblk·fdisk
可爱又迷人的反派角色“yang”16 分钟前
Mysql数据库(二)
运维·服务器·前端·数据库·mysql·nginx·云计算
小玉不愚鸭20 分钟前
nginx中的https的搭建
运维·nginx·https
郝学胜-神的一滴23 分钟前
Linux信号屏蔽字详解:原理、应用与实践
linux·服务器·开发语言·c++·程序人生
weixin_3077791325 分钟前
Jenkins ASM API 插件:详解与应用指南
java·运维·开发语言·后端·jenkins
是垚不是土29 分钟前
轻量化CICD落地:基于Jenkins与Supervisor的中小企业服务发布实践
运维·servlet·ci/cd·微服务·jenkins
温启志c#34 分钟前
【无标题极简版的 TCP 服务端和客户端实现,保留核心功能,去掉复杂封装,适合快速测试:】
运维·服务器·网络
神秘奇男子36 分钟前
openEuler 25.09 企业级 MySQL主从复制部署与性能优化实战提升50%
linux·mysql
北京耐用通信1 小时前
三步打通数据壁垒:耐达讯自动化Ethernet/IP转CC-Link方案全解析。建议点赞收藏
运维·tcp/ip·自动化
羊村积极分子懒羊羊1 小时前
nginx的https的搭建
运维·nginx·https