docker网络

1.桥接模式

桥接模式:用于连接两个不同网络段的设备,共享通信的一种方式。

桥接设备:工作在OSI模型的第二次,数据链路层,转发数据帧,mac地址,类似于交换机。

docker网络就是基于桥接模式实现的:

1.虚拟网络桥:安装开启docker之后,docker进程就会自动创建一个虚拟网络桥(docker0)

是一个虚拟的网络设备,类似于物理网络设备的交互机。

2.分配唯一的ip地址,每次运行一个容器,docker进程都会分配唯一的且未被其他容器占用的ip地址

这个ip地址是在桥接模式网络的子网中

3.容器和主机通信:通过桥接模式,容器可以与主机直接通信,容器可以访问主机上的运行服务,主机也可以通过桥接网络docker:0来访问容器内部的进程(iptables的nat地址转换,在主机上做了nat地址转换)

注意:docker的网桥是宿主机虚拟出来的,并不是一个真正存在的网络设备,外部网络无法寻址找到。外部网络无法直接访问docker0分配给容器的ip地址

命令:

docker run -itd --name test1 -P nginx:1.22.0 /bin/bash

docker run -itd --name test2 -p 4300:80 nginx:122.0 /bin/bash

docker run -itd --name test3 -p 80:80 nginx:1.22.0 /bin/bash

2.docker的网络模式

面试: docker的网络模式:

1.bridge默认,在创建docker时不需要指定网络类型,默认就是brige

docker run -itd --name test1 -P nginx:1.22.0 /bin/bash

2.host模式,容器将不会虚拟出自己的网卡,也没有自己的ip地址,全部使用宿主机的ip地址和端口创创建容器的时候可以指定网络模式:--network host

docker run -itd --name test1 --network host nginx /bin/bash

3.container模式:容器和容器之间共用一个ip和端口,允许共用

docker run -itd --name test2 --network=container:test1 nginx:latest /bin/bash

4 none模式:docker容器有自己的network=space 但是这个容器没有任何设置,容器没有网卡,没有ip,没有路由,只有lo回环网络,在none模式下,容器不可用联网,用于容器功能测试

docker run -itd --name test4 --network=none nginx /bin/bash

5.自定义网络:我们可以给docker自己定义的网段

docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1" mynetwork

在使用默认docker网桥时,创建容器时不能指定IP地址,只能由docker网桥自动分配

除非用户自定义的网络可以给容器自动以IP地址

-opt "com.docker.network.bridge.name"="docker1"

可以不加,但是网卡名称比较难以识别

mynetwork 自定义网络的名称

总结:

docker的网络:

1.bridge模式,桥接模式,也是docker的默认模式,在创建时无需指定。

2.host模式:容易不会有自己的网络设备,但是可以和宿主机共享IP和端口

3、container模式:容器和容器之间共享ip和端口

4.none模式:也没有自己的网络设备,也没有网卡,ip。只有一个回环地址,127.0.0.1 不能够联网的,相当于飞机模式。一般用于测试容器的功能

5.自定义模式:创建容器时,默认使用docker网桥是无法给容器定义ip地址,只能自动分配。自定义网络在创建容器时,可以给容器指定的ip地址

相关推荐

  1. docker---网络

    2023-12-08 15:08:04       36 阅读
  2. docker网络

    2023-12-08 15:08:04       28 阅读
  3. Docker 网络

    2023-12-08 15:08:04       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 15:08:04       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 15:08:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 15:08:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 15:08:04       18 阅读

热门阅读

  1. VBA 数组写入ACCESS

    2023-12-08 15:08:04       37 阅读
  2. 数据结构的存储方式

    2023-12-08 15:08:04       34 阅读
  3. Kotlin(十三) 延迟初始化和密封类

    2023-12-08 15:08:04       34 阅读
  4. rpc服务、微服务架构、分布式应用是什么

    2023-12-08 15:08:04       36 阅读
  5. 人工智能助力医疗:科技护航健康未来

    2023-12-08 15:08:04       37 阅读
  6. MySQL报错:sql_mode=only_full_group_by 解决方法含举例

    2023-12-08 15:08:04       33 阅读
  7. 设计模式基础——工厂模式剖析(2/2)

    2023-12-08 15:08:04       27 阅读
  8. leetcode:468. 验证IP地址

    2023-12-08 15:08:04       35 阅读