docker 创建overlay网络实践
2016-07-08 21:23
639 查看
参考文档:https://docs.docker.com/engine/userguide/networking/get-started-overlay/
https://docs.docker.com/machine/drivers/generic/
1)Step 1: Set up a key-value store
docker-machine create –driver generic –generic-ip-address=192.168.153.222 \
–generic-ssh-key ~/.ssh/id_rsa mh-keystore (要配置无密码登录)
eval “$(docker-machine env mh-keystore)”
docker run -d -p “8500:8500” -h “consul” progrium/consul -server -bootstrap
2)Step 2: Create a Swarm cluster(为避免安装过程中脚本执行docker pull swarm失败,可先在机器上执行docker pull swarm镜像)
docker-machine create \
–driver generic –generic-ip-address=192.168.153.223 \
–generic-ssh-key ~/.ssh/id_rsa \
–swarm –swarm-master \
–swarm-discovery=”consul://(docker−machineipmh−keystore):8500” –engine−opt=”cluster−store=consul://(docker-machine ip mh-keystore):8500” \
–engine-opt=”cluster-advertise=eth1:2376” \
mhs-demo0
docker-machine create \
–driver generic –generic-ip-address=192.168.153.225 \
–generic-ssh-key ~/.ssh/id_rsa \
–swarm \
–swarm-discovery=”consul://(docker−machineipmh−keystore):8500” –engine−opt=”cluster−store=consul://(docker-machine ip mh-keystore):8500” \
–engine-opt=”cluster-advertise=eth1:2376” \
mhs-demo1
docker-machine ls
3)Step 3: Create the overlay Network
eval $(docker-machine env –swarm mhs-demo0)
docker info
docker network create –driver overlay –subnet=10.0.9.0/24 my-net
4)Step 4: Run an application on your Network
eval $(docker-machine env –swarm mhs-demo0)
docker run -itd –name=web –net=my-net –env=”constraint:node==mhs-demo0” nginx
eval $(docker-machine env mhs-demo1)
注:得先设定node的env,才能执行以下的docker run命令;为了节省时间,先在目标node上docker pull nginx,docker pull busybox
docker run -it –rm –net=my-net –env=”constraint:node==mhs-demo1” busybox wget -O- http://web
5)Step 5: Check external connectivity
https://docs.docker.com/machine/drivers/generic/
1)Step 1: Set up a key-value store
docker-machine create –driver generic –generic-ip-address=192.168.153.222 \
–generic-ssh-key ~/.ssh/id_rsa mh-keystore (要配置无密码登录)
eval “$(docker-machine env mh-keystore)”
docker run -d -p “8500:8500” -h “consul” progrium/consul -server -bootstrap
2)Step 2: Create a Swarm cluster(为避免安装过程中脚本执行docker pull swarm失败,可先在机器上执行docker pull swarm镜像)
docker-machine create \
–driver generic –generic-ip-address=192.168.153.223 \
–generic-ssh-key ~/.ssh/id_rsa \
–swarm –swarm-master \
–swarm-discovery=”consul://(docker−machineipmh−keystore):8500” –engine−opt=”cluster−store=consul://(docker-machine ip mh-keystore):8500” \
–engine-opt=”cluster-advertise=eth1:2376” \
mhs-demo0
docker-machine create \
–driver generic –generic-ip-address=192.168.153.225 \
–generic-ssh-key ~/.ssh/id_rsa \
–swarm \
–swarm-discovery=”consul://(docker−machineipmh−keystore):8500” –engine−opt=”cluster−store=consul://(docker-machine ip mh-keystore):8500” \
–engine-opt=”cluster-advertise=eth1:2376” \
mhs-demo1
docker-machine ls
3)Step 3: Create the overlay Network
eval $(docker-machine env –swarm mhs-demo0)
docker info
docker network create –driver overlay –subnet=10.0.9.0/24 my-net
4)Step 4: Run an application on your Network
eval $(docker-machine env –swarm mhs-demo0)
docker run -itd –name=web –net=my-net –env=”constraint:node==mhs-demo0” nginx
eval $(docker-machine env mhs-demo1)
注:得先设定node的env,才能执行以下的docker run命令;为了节省时间,先在目标node上docker pull nginx,docker pull busybox
docker run -it –rm –net=my-net –env=”constraint:node==mhs-demo1” busybox wget -O- http://web
5)Step 5: Check external connectivity
相关文章推荐
- 使用Docker实现丝般顺滑的持续集成
- 生成docker镜像
- docker 中使用 selenium + chrome 出现 chrome 崩溃的解决办法
- (原)ubuntu14及ubuntu16中安装docker
- 如何实现Docker应用的自定义弹性伸缩
- docker和centos你需要知道的
- docker 磁盘问题:device or resource busy
- Centos 7 docker 启动容器 iptables 报 No chain/target/match by that name
- DockerFile实战(二):DockerFile编写要求与基本风格
- Docker启动容器时的port公开方式,破除一些含糊的地方
- 主机网络切换后,docker toolbox里的容器网络不通的解决方法
- CentOS7安装Docker时的异常报错与解决方法
- DockerAPI版本不匹配的问题
- centos6.5 docker 搜索镜像出错
- Docker 构建 redis 集群
- Swarm搭建Docker集群
- Docker终极指南
- docker-machine create generic的环境准备
- Docker从入门到实践笔记一
- 非常详细的 Docker 学习笔记 - OPEN 开发经验库