zookeeper 集群 联网
建立一个虚拟网络
docker network create --subnet=172.16.0.0/16(网络地址/掩码) zk(网络名称)
docker network ls 查看网络
docker network inspect (网络名)zk 查看网络属性
Containers {} 记录了加入网络的容器,验证容器是否加入了网络。
(进入容器,ping其他容器,验证网络,更可靠)
docker network rm zk 删除网络
网络规划 host2 (172.16.0.2)---------host3 (172.16.0.3)-------------host4 (172.16.0.4)
方法一:将容器加入网络 docker network connect --ip(指定ip)网络名 容器名
首先运行一个容器:docker run -itd --name host2 webapp2 /bin/bash
将容器加入网络: docker network connect --ip 172.16.0.2 zk host2
方法二:使用docker?run命令运行镜像??--net指定子网络??--ip指定从子网落中分配一个ip地址
docker run -itd --name host3 --net zk --ip 172.16.0.3 webapp2 /bin/bash
修改机器名:需要特权模式
docker run -itd --privileged --name host2 --net zk --ip 172.16.0.2 webapp2 /bin/bash
docker run -itd --privileged --name host3 --net zk --ip 172.16.0.3 webapp2 /bin/bash
在创建容器的时候指定hostname
docker run -itd --privileged --name host3 --net zk --ip 172.16.0.3 --hostname host3 webapp2 /bin/bash
如何把文件发送给容器(java)----加载数据卷,共享
docker run -itd --privileged --name host4 --net zk --ip 172.16.0.4 --hostname host4 -v /root:/sw webapp2 /bin/bash
删除所有容器 docker rm -f $(docker ps -aq)
将host3 容器保存为 host3 镜像
docker commit host3 img_host3
通过新的镜像img_host3 创建容器host3,
/etc/hosts文件没有随容器一起打包成镜像
docker run -itd --privileged --name host3 --net zk --ip 172.16.0.3 --hostname host3 img_host3 /bin/bash
通过命令,在容器生成时,指定 路由:
docker run -itd --privileged --name host3 --net zk --ip 172.16.0.3 --hostname host3 --add-host host2:172.16.0.2 img_host3 /bin/bash
将host4 容器保存为 host4 镜像
docker commit host4 img_host4
作业:创建网络zuoye,生成3个容器,地址自己规划分配,机器名与容器名,命名方式
姓名的拼音+数字,让它们联网。(验证:按名字ping通)
docker run -itd --name yujunjie1 --net zuoye --ip
172.16.1.1 --hostname yujunjie1 --add-host yujunjie2:
172.16.1.2 --add-host yujunjie3:
172.16.1.3 training/webapp /bin/bash