查看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