#!/usr/bin/env bash
#https://www.ibm.com/developerworks/cn/linux/l-docker-network/index.html
$ docker network ls
NETWORK ID NAME DRIVER
7fca4eb8c647 bridge bridge
9f904ee27bf5 none null
cf03ee007fb4 host host
#bridge 网络表示所有 Docker 安装中都存在的 docker0 网络。除非使用 docker run --net=<NETWORK>选项另行指定,否则 Docker 守护进程默认情况下会将容器连接到此网络。在主机上使用 ifconfig命令,可以看到此网桥是主机的网络堆栈的一部分。
#none 网络在一个特定于容器的网络堆栈上添加了一个容器。该容器缺少网络接口。
#host 网络在主机网络堆栈上添加一个容器。您可以发现,容器中的网络配置与主机相同。
## 创建自定义网络
docker network create test-network
docker inspect test-network |grep Subnet
docker network ls # --subnet、--gateway和 --ip-range
docker run -itd --name=test1 --net=test-network radial/busyboxplus /bin/sh
docker run -itd --name=test2 --net=test-network radial/busyboxplus /bin/sh
docker exec -it test1 sh
ping
docker network rm test-network
# 静态链接bridges 自定义
docker run -itd --name=test2 ppc64le/busybox /bin/sh
#动态链接bridges 自定义
docker run -itd --name=test2 ppc64le/busybox /bin/sh
docker network connect test-network test2
docker network inspect test-network
#!/usr/bin/env bash
# flannel原理: http://dockone.io/article/618
SERVER_IP=`ifconfig eth0 | grep inet | grep netmask | grep -v "127.0.0.1" | awk '{print $2}'`
yum install etcd -y
sed -i 's#ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"#ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"#g' /etc/etcd/etcd.conf
systemctl restart etcd && systemctl enable etcd
yum install flannel -y
sed -i 's#FLANNEL_ETCD_ENDPOINTS="http://127.0.0.1:2379"#FLANNEL_ETCD_ENDPOINTS="http://'192.168.14.132':2379"#g' /etc/sysconfig/flanneld
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
systemctl restart flanneld && systemctl enable flanneld
systemctl daemon-reload
systemctl restart etcd
systemctl restart flanneld
systemctl restart docker
ps -ef|grep docker
iptables -P FORWARD ACCEPT
etcdctl rm --recursive /registry
## docker加载/run/flannel/docker 配置
#vim /usr/lib/systemd/system/docker.service.d/flannel.conf
# vim /run/flannel/docker
vim /usr/lib/systemd/system/docker.service
7 [Service]
...
9 EnvironmentFile=-/run/flannel/docker
...
13 ExecStart=/usr/bin/dockerd --log-level=error $DOCKER_NETWORK_OPTIONS
ps -ef|grep docker
root 4655 1 3 19:08 ? 00:00:00 /usr/bin/dockerd --log-level=error --bip=172.17.92.1/24 --ip-masq=true --mtu=1472
root 4659 4655 0 19:08 ? 00:00:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root 4785 2791 0 19:08 pts/0 00:00:00 grep --color=auto docker
docker run -it --rm radial/busyboxplus sh
docker inspect fcce71e1b587|grep IPAddress
[docker]网络-flannel
最新推荐文章于 2023-05-07 16:19:00 发布