首页 > 其他分享 >Docker网络

Docker网络

时间:2023-10-19 17:34:44浏览次数:35  
标签:容器 network bridge -- 网络 docker Docker

Docker网络模式

docker的网络功能就是利用Linux的network namespace,network bridge,虚拟网络设备实现的。

默认情况下,docker安装完毕会生成网桥docker0,可以理解为是一个虚拟的交换机,对两端的数据转发。

docker的网络接口默认都是虚拟的网络接口。

Docker容器网络在宿主机和容器内分别创建一个虚拟接口,让他们彼此通信。

Docker四种网卡模式(面试问)

--networkwork 参数

--network=bridge 这个是默认值,连接到默认的网桥docker0,这个模式给容器自动分配IP,且通过iptables的nat表和宿主机实现数据通信。


--network=host 告诉 Docker 不要将容器网络放到隔离的命名空间中,即不要容器化容器内的网络。此时容器使用本地主机的网络,它拥有完全的本地主机接口访问权限。
容器进程可以跟主机其它 root 进程一样可以打开低范围的端口,可以访问本地网络服务比如 D-bus,还可以让容器做一些影响整个主机系统的事情,比如重启主机。
因此使用这个选项的时候要非常小心。如果进一步的使用 --privileged=true,容器会被允许直接配置主机的网络堆栈。

--network=container:NAME_or_ID 让 Docker 将新建容器的进程放到一个已存在容器的网络栈中,新容器进程有自己的文件系统、进程列表和资源限制,但会和已存在的容器共享 IP 地址和端口等网络资源,两者进程可以直接通过 lo 环回接口通信。

--network=none 让 Docker 将新容器放到隔离的网络栈中,但是不进行网络配置。之后,用户可以自己进行配置。

查看docker的网络模式

查看当前docker已有的网络配置的方式

[root@docker-200 ~]#docker network ls
NETWORK ID     NAME            DRIVER    SCOPE
6cb9ed4cc353   bridge          bridge    local
6d71aada2627   harbor_harbor   bridge    local
f3971eca0c0f   host            host      local
ff6208d689fb   none            null      local

[root@docker-200 ~]#ifconfig docker0
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:3eff:feca:fa2b  prefixlen 64  scopeid 0x20<link>
        ether 02:42:3e:ca:fa:2b  txqueuelen 0  (Ethernet)
        RX packets 182668  bytes 9877642 (9.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 292481  bytes 473496962 (451.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# 安装网桥管理工具
[root@docker-200 ~]#yum install bridge-utils -y
[root@docker-200 ~]#brctl show
bridge name    bridge id        STP enabled    interfaces
br-6d71aada2627        8000.02420be0d11c    no        veth074229e
docker0        8000.02423ecafa2b    no

查看实际容器创建的虚拟网卡

[root@docker-200 ~]#ifconfig |grep veth
veth41f51d7: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
veth9dc2f5a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
vethd661064: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

docker网络模式常用命令

增
docker network create --driver bridge --subnet 子网 --gateway 网关 网络名
如:docker network create --driver bridge --subnet 172.14.0.0/16 --gateway 172.14.0.1 bridge-net2

删
docker network rm  网络名
docker network prune  # 删除所有定制化无容器使用的网络

改
修改默认的docker0网络ip段
修改docker配置文件,增加"bip":"192.168.2.1/24",
{
"bip":"192.168.2.1/24",
  "registry-mirrors" : [
    "https://ms9glx6x.mirror.aliyuncs.com"
  ],
  "insecure-registries":["http://10.0.0.200"]
}
重启docker

查
docker network ls

标签:容器,network,bridge,--,网络,docker,Docker
From: https://www.cnblogs.com/chunjeh/p/17775226.html

相关文章

  • 虹科分享 | 选择SAS还是NVMe?虹科网络基础带您一探究竟!
    存储架构师需要通过确保他们选择的存储解决方案提供支持其生态系统所需的安全性、稳定性、可扩展性和管理特性来应对当今的业务挑战。当他们考虑采用新的存储技术时,在采用新技术之前,他们应该权衡和审查一些基本的考虑因素。新的存储协议不断进入市场,本文将探讨SAS技术为何仍然是存......
  • 最新整理的网络术语大全,强烈建议收藏!
    ACL(AccessControlList)英文全称:AccessControlList中文含义:访问控制列表原理:ACL是一种网络设备(如路由器、防火墙)上的规则集,用于控制数据包的流动。它基于IP地址、端口号和协议等规则,决定哪些数据包被允许通过,哪些被拒绝。用途:用于网络安全和控制,可以限制特定IP地址或协议......
  • 智安网络|从区块链到社交网络:解析去中心化的意义与应用
    在当今数字化的世界中,一个越来越常见的概念是“去中心化”。从区块链技术到金融系统,从社交网络到数据存储,去中心化被认为是一种前所未有的方式来重新定义和改变传统的中心化结构。那么,去中心化到底是什么?首先,去中心化是一种思想和哲学,旨在消除中心化权力和控制。传统的中心化结构通......
  • 网络攻击
                 ......
  • MJ和网络数据批量重命名
    importosimportopenpyxlimportreUNWANTED_UNITS=["undefined","皮皮","zly324"]#第一步:删名称defrename_files(path):files=[fforfinos.listdir(path)ifos.path.isfile(os.path.join(path,f))]renamed_files=[]counte......
  • docker compose部署gitlab
    这里部署的是目前最新的16.4.1版本docker版本Client:DockerEngine-CommunityVersion:24.0.6APIversion:1.43Goversion:go1.20.7Gitcommit:ed223bcBuilt:MonSep412:31:442023OS/Arch:linux/a......
  • docker 挂载redis
    一、Dockerpullredis镜像二、挂载redisdockerrun--restart=always--log-optmax-size=100m--log-optmax-file=2-p6379:6379--namemyredis01-v/home/redis/myredis01/myredis.conf:/etc/redis/redis.conf-v/home/redis/myredis01/data:/data-dredisredis-ser......
  • Unity 如何设计网络框架
    在Unity框架设计中与游戏服务器对接的网络框架也是非常重要的一个模块,本文給大家分享如何来基于Unity来设计一个网络框架,主要的讲解以下几个点:(1)TCP半包粘包,长连接与短连接,IO阻塞;(2)TcpSocket与UDPSocket的技术方案;(3)Unity的序列化与反序列化技术方案;(4)TC......
  • 神经网络基础篇:详解二分类(Binary Classification)
    二分类注:当实现一个神经网络的时候,通常不直接使用for循环来遍历整个训练集(编程tips)举例逻辑回归逻辑回归是一个用于二分类(binaryclassification)的算法。首先从一个问题开始说起,这里有一个二分类问题的例子,假如有一张图片作为输入,比如这只猫,如果识别这张图片为猫,则输出标签......
  • 《动手学深度学习 Pytorch版》 9.4 双向循环神经网络
    之前的序列学习中假设的目标是在给定观测的情况下对下一个输出进行建模,然而也存在需要后文预测前文的情况。9.4.1隐马尔可夫模型中的动态规划数学推导太复杂了,略。9.4.2双向模型双向循环神经网络(bidirectionalRNNs)添加了反向传递信息的隐藏层,以便更灵活地处理此类信息。9......