• docker网络知识笔记


    docker容器的网络四种通信模式的总图如下

     Closed container: 封闭式容器,只有lo接口,不参与网络通信,运行与此类容器中的进程仅能访问本地环回接口,仅适用于进程无须网络通信的场景中,例如备份、进程诊断及各种离线任务等。命令行:docker run --rm --net none busybox:latest

    Bridged container:nat桥接式容器,通过容器接口连接到docker0上,默认172.17.0.0/16,在使用 docker 时,没有指定网络模式时被采用的默认的网络模式。桥接式容器一般拥有两个接口:一个环回接口和一个连接至主机上某桥设备的以太网接口。docker daemon启动时,默认会创建一个名为docker0的网桥,并且创建的容器为桥接式容器,其以太网接口桥接至docker0。docker0桥为SNAT桥,因此,桥接式容器可通过此桥接口访问外部网络,但是防火墙则阻止一切从外部网络访问桥接式容器的请求。

    docker run --rm --net bridge busybox:latest
    如果容器上的服务要被外部网络访问,需要在宿主机上为其定义DNAT规则,通过使用docker run 命令的-p 参数-P来实现dnat的端口映射,无须手动的添加规则
    docker run --name b1 --rm -d -p 80:80 hukey/httpd:v0.2

    Joined container:联盟式容器,让两个容器有一分部名称空间是隔离的:文件系统、用户、PID隔离,但是 UTS、NET和IPC是同享同一组,所以两个容器使用同一组网络设备,可通过lo通信。

    [root@kubemaster cw_docker]# docker run -it --name test2 cwcentos:1 /bin/sh
    sh-4.4# cd /etc/hosts
    sh: cd: /etc/hosts: Not a directory
    sh-4.4# vi /etc/hosts
    sh-4.4# vi /etc/re   
    redhat-release  resolv.conf     
    sh-4.4# vi /etc/re
    redhat-release  resolv.conf     
    sh-4.4# vi /etc/resolv.conf 
    sh-4.4# ip add
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    104: eth0@if105: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
        link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
           valid_lft forever preferred_lft forever
    sh-4.4# 
    
    [root@kubemaster ~]# docker run -it --net container:test2(container:容器的名字) --name=test4 cwcentos:1 /bin/bash
    [root@db9fe42ebfd8 /]# ip add
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    104: eth0@if105: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
        link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
           valid_lft forever preferred_lft forever
    [root@db9fe42ebfd8 /]#  

    Open container:开放式容器,开放的网卡是物理网络接口,和物理机同享同一组网络命名空间

  • 相关阅读:
    图论--曼哈顿距离最小生成树模板
    图论--生成树计数模板
    图论--欧拉回路--弗罗莱算法模板
    Codeforce 1255 Round #601 (Div. 2)D. Feeding Chicken (模拟)
    pta 习题集5-17 家谱处理
    pta习题集5-16 地下迷宫探索
    pta 习题集5-17 哥尼斯堡的“七桥问题”
    pta习题集5-16 朋友圈
    pta 习题集5-19 列车厢调度
    pta 习题集5-18 打印学生选课清单
  • 原文地址:https://www.cnblogs.com/potato-chip/p/14362186.html
Copyright © 2020-2023  润新知