docker网络模式, macvlan跨主机docker访问

查看docker中所有的网络模式

docker network ls

 

如何启动不同模式的网络呢? 在run容器是添加 --network bridge/host/none即可

 

不同网络模式介绍

1. bridge 容器的默认网络模式,会在容器内生成一个和docker0同网段的ip, docker0作用类似于一个网桥,从而实现网络访问;

    docker0网络是docker安装后自动添加在宿主机上的一个网络。

 

2. host 容器和宿主机共用一套网络资源,ip和宿主机相同,宿主机及所有容器的端口唯一。直接使用宿主机网络资源,无需映射,效率更高

 

3. none 没有网络模式

 

4. container 与其它容器公用同一套网络资源(network namespace)

 

 

实现docker跨主机访问之macvlan

1. docker跨主机访问 - macvlan实现

    docker network rm macvlan_1    ----> 删除macvlan_1, 如macvlan正在被使用则需要先停止容器
    docker network create --driver macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.254 -o parent=eth0 macvlan_1    ----> 创建
    注: 1. -o parent=eth0  绑定到eth0网卡上(对外的网卡)
2. macvlan_1为自定义的该通道的名字
3. 创建完成后docker network ls就能看到创建的这个网络了
4. 以上创建macvlan的命令在两台主机上都要执行
ip link set etho promsic on ----> (ubuntu或其它版本需要) 


# 分别在两台主机上执行以下命令
docker run
-it --network macvlan_1 --ip=10.0.0.10 centos6.9:v1 /bin/bash
docker run
-it --network macvlan_1 --ip=10.0.0.20 centos6.9:v1 /bin/bash

 

    

 

posted @ 2020-08-20 21:26  叶落kiss  阅读(570)  评论(0编辑  收藏  举报