目录
2.创建并运行多个容器a,b,c,其中a和b在网络1中,b和c在网络2中
一、总任务
二、子任务1:容器网络
1.创建两个bridge虚拟网络
首先进行第一步,创建两个bridge虚拟网络
在新建之前,先看一下目前docker中已经存在的网络
在此用的是docker network ls命令
出现了三个网络,名字分别是bridge、host、none,这是docker自带的
新建Docker网络可以使用如下命令
创建了两个docker网络,zhuluo1和zhuluo2
再次查看docker网络状态,现在就有两个网络了
2.创建并运行多个容器a,b,c,其中a和b在网络1中,b和c在网络2中
先看看目前我们有哪些镜像:
使用docker images查看
在此,我想使用centos的镜像创建容器,因此先搜索有哪些centos的镜像
拉取centos镜像的资源,拉取过程如下:
使用命令docker pull centos
拉去好之后就可以创建容器了,根据资料,我希望将容器连接到新建的网络中
这里的test1是容器的名字
Test-net是网络的名字
这个命令是将名为testa的容器连接到了名为zhuluo1的网络中
这个命令是将名为testb的容器连接到了名为zhuluo1的网络中
这个命令是将名为testc的容器连接到了名为zhuluo2的网络中
此时,与我们的要求相比,还剩下将testb连接到zhuluo2的网络中,
这时候可以使用docker network connect 的语句
Testb的容器id号是f00b553fe97e
此时把testb也连接到了zhuluo2的网络中,查看一下网络状态
使用docker network inspect查看网络配置信息
查看zhuluo1网络的信息
显示了zhuluo1下,两个容器的ip信息
可以看出,zhuluo1网络的网段应该是172.18.0.0/16
且网关的地址为172.18.0.1
在zhuluo1网络下的容器ip地址分别为:
Testa 172.18.0.2
Testb 172.18.0.3
查看zhuluo2网络的信息
显示了zhuluo2下,两个容器的ip信息
可以看出,zhuluo2网络的网段应该是172.19.0.0/16
且网关的地址为172.19.0.1
在zhuluo1网络下的容器ip地址分别为:
Testc 172.19.0.2
Testb 172.19.0.3
3.a和b能相互访问,b和c能相互访问
此时试一试在同一网段下,testa和testb是否能够进行通信
进入testa容器内部
直接使用ping testb:
可以ping通
从testa容器中退出,进入testb容器,并ping testc
可以ping通
因此可以得知,testa和testb在同一网络zhuluo1下,互相之间可以进行通信
Testb和testc在同一网络zhuluo2下,相互之间也可以进行通信。
三、子任务2:容器存储
1.创建卷
进行创建卷的操作:
可以查看一下所有的数据卷,使用docker volume ls命令
可以看到我创建的test-vol已经出现在列表中了
可以查看test-vol的信息,使用命令:docker volume inspect test-vol
2.将卷挂载到容器上
创建一个名为v-centos的容器,并加载一个数据卷到容器的/zhuluo目录
使用 -v 的挂载方式
查看v-centos的信息,在mount处可以看到挂在的卷信息:
在刚刚的操作中,我们运行容器时并没有指定要挂在到容器中的数据卷的被你目录
所在docker使用了一个默认的数据目录
数据卷的本地目录为/usr/dataVol,挂载到了容器的/usr/dataVol下
在容器内部,进入/usr,使用ls,能看到容器中已经出现dataVol了
去宿主机上进行查看,宿主机的/usr目录下也出现了dataVol
3.验证数据在卷和容器中共享
接下来验证数据在卷和容器中共享
在容器中创建一个文件夹,命名为zhuluohh
在宿主机文件资源管理器中打开,也可以看到了
验证数据在卷和容器中共享成功。