五、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显示的详细信息从这个文件中去取

         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策略。

        3.1docker网络的四种模式

        host模式:

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

        bridge(桥接)

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

        container模式

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

        none模式

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

        3.2第五种网络模式

        overlay:

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

        3.3网络实战

        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

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

 可以互相ping通

        3.5docker network create cs

        创建一个默认网络cs

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

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

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值