五、docker--进程-文件-网络

目录

1.进程

        1.1docker-proxy

        1.2dockerd

        1.3containerd

        1.4container-shim-runc-v2

 2.文件

        2.1hostname

        2.2hosts

        2.3resolv.conf

        2.4config.v2.json

3.网络

        3.1docker网络的四种模式

        host模式:

        bridge(桥接)

        container模式

        none模式

        3.2第五种网络模式

        overlay:

        3.3网络实战


准备环境:

        CentOS Stream 8

        Docker 20.10.13

1.进程

        相关进程docker-proxy、dockerd、containerd和container-shim-runc-v2。

        1.1docker-proxy

        这个进程专门负责端口映射(监听端口)。

一个docker进程运行时,会有两个docker-proxy进程监听端口,分别监听ipv4和ipv6的。

        1.2dockerd

        docker server的进程

        1.3containerd

        整个容器的管理进程

        1.4container-shim-runc-v2

        具体某个容器对应的进程

 2.文件

        /var/lib/docker/containers/下存放着不同容器的数据

        我们进入任意一个容器,可以看到有如下文件

        2.1hostname

        存放的是容器的id 

        2.2hosts

        存放的域名解析

        2.3resolv.conf

        存放dns服务器

         #和宿主机的resolv.conf文件一致

        2.4config.v2.json

        docker container inspect wj-nginx-3显示的详细信息从这个文件中去取

五、docker--进程-文件-网络_第1张图片

         2.4.1json格式

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。--》格式用来描述数据

        json类型的数据格式,非常类似于python里的字典:

        数据的形式:文本

        格式:key:value

        非关系型的数据

        非结构化数据

        各种各样的程序之间交换数据(传递数据)的格式

json:

        文本的数据 --》数据比较小,易懂,不需要再安装额外的软件

key:value -->结构清晰

3.网络

        容器默认的私有网络是172.17.0.0/16,网关是宿主机的172.17.0.1。

        所有容器上网都需要经过宿主机 --》底层使用的是iptables的SNAT和DNAT策略。

五、docker--进程-文件-网络_第2张图片

        3.1docker网络的四种模式

        host模式:

                容器和宿主机共享ip地址和端口,共用一个Network Namespace

五、docker--进程-文件-网络_第3张图片

        bridge(桥接)

                docker0就是一个虚拟网桥,启动的容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。

五、docker--进程-文件-网络_第4张图片

        container模式

                多个容器共享一个ip地址,共享一个 Network Namespace,而不是和宿主机共享。

五、docker--进程-文件-网络_第5张图片

        none模式

                只有io回环网络,没有其他网卡。这种类型的网络没有办法联网,安全性极高。

五、docker--进程-文件-网络_第6张图片

        3.2第五种网络模式

        overlay:

                可以实现实现跨主机docker容器之间的通信

五、docker--进程-文件-网络_第7张图片

        3.3网络实战

五、docker--进程-文件-网络_第8张图片

        3.3.1docker network ls

        3.3.2docker network create --driver bridge sc

        #不指定--driver默认创建为bridge类型

        3.3docker run -it -d --name wj-centos-1 --network sc centos:7

        #--network指定创建网络

        #不加-it,centos容器会自动关闭

        3.4docker exec -it wj-centos-1 /bin/bash

         进入wj-centos-1容器内查看ip地址为172.20.0.2五、docker--进程-文件-网络_第9张图片

         进入wj-centos-1容器内查看ip地址为172.20.0.2​​​​​​3

 可以互相ping通五、docker--进程-文件-网络_第10张图片

        3.5docker network create cs

        创建一个默认网络cs

五、docker--进程-文件-网络_第11张图片

         创建一个使用cs网络的容器

五、docker--进程-文件-网络_第12张图片

         3.6不同网络下的容器能否ping通?

五、docker--进程-文件-网络_第13张图片

        cs网络下的容器可以ping通自己网关,和ping通cs网络的网关,但不能ping通sc网络下的容器。

你可能感兴趣的:(docker,docker)