Docker网络与数据管理

一、Docker默认网络管理

1.docker自动创建的三种网络;

在进行安装的时候,Docker自动创建三种网络。客户端可以通过网络管理指令进行查看。
在这里插入图片描述
其中,名为bridge的网络就是默认的bridge驱动网络,也是容器创建是默认的网络管理方式,配置后可以与宿主机通信从而实现与互联网通信功能。

2.创建并启动容器;
在这里插入图片描述
3.使用网络查看指令查看网络详情;
在这里插入图片描述

二、自定义bridge网络

1.创建自定义网络;
在这里插入图片描述
创建完网络后,可以使用docker network ls指令查看创建的网络是否成功。
除docker network ls,还可以使用doker network inspect指令查看新建网络的详细信息。

2.使用自定义网络启动容器;
在这里插入图片描述
通过docker inspect nwtest指令可以查看启动后的容器详情。
在这里插入图片描述
3.为容器添加网络管理;
为容器nwtest添加另一种默认的bridge网络管理。
在这里插入图片描述
使用docker inspect nwtest指令查看该容器网络详情。
在这里插入图片描述
4.断开容器网络连接;
在这里插入图片描述
使用docker inspect nwtest指令查看详情。
在这里插入图片描述
5.移除自定义网络;
在这里插入图片描述

三、容器之间的通信

1.创建容器;
(1)创建两个使用默认的bridge网络的容器;
在这里插入图片描述
(2)创建一个使用自定义的isolated_nw网络的容器;
在这里插入图片描述
在这里插入图片描述
(3)为container2新增一个自定义的isolated_nw网络连接;
在这里插入图片描述

  • container1和container2在同一个默认的bridge网络管理下,可以互相通信;
  • container2和container3在同一个自定义的isolated_nw网络管理下,可以互相通信;
  • container1和container3属于不同的网络环境,无法进行通信。

2.容器地址查看;

进入container2容器,在container2容器其内部有两个网卡eth0和eth1(使用两种网络管理方式自动产生的),对应IP地址分别为172.17.0.5和172.18.0.3。
在这里插入图片描述
进入容器container1,通过ifconfig指令查看容器的IP为:172.17.0.4。
在这里插入图片描述
进入容器container3,通过ifconfig指令查看容器的IP为:172.18.0.2。
在这里插入图片描述
3.容器通信测试;
在container1容器内部使用“ping -w 4 IP”,无法连通container3,即container1和container3不在同一网络环境下。
在这里插入图片描述
在container2容器内部“ping -w 4 IP”,可以同时连通container1和container3。
在这里插入图片描述
在container2容器内部使用“ping -w 4 容器名称”指令可以连通container3,container1显示“bad address ‘container1’”错误。
在这里插入图片描述
总结:不同容器之间想要相互通信必须在同一网络环境下;使用默认bridge网络管理的容器可以使用容器IP进行通信,但无法使用容器名称进行通信;而自定义网络管理的容器则同时可以使用容器IP和容器名称进行通信。

4.多学一招:默认网络下使用–link参数通过容器名称进行通信;

【1】创建并启动一个名为container4的容器,查看其IP;
在这里插入图片描述
【2】进入容器container4,可以与container1容器的别名c1通信,也可以与IP通信;
在这里插入图片描述
【3】进入容器container1,可以与container4容器的IP通信,不能与!容器名称通信;
在这里插入图片描述

四、Docker Swarm

1.搭建环境;
【1】manager1节点的IP;
在这里插入图片描述
【2】work1节点的IP;
在这里插入图片描述
【3】work2节点的IP;
在这里插入图片描述
2.创建Docker Swarm集群;
(1)在名为manager1的Docker机器上创建Docker Swarm集群;
在这里插入图片描述
创建集群后显示了两条指令,分别是添加工作节点和管理节点。

(2)在管理节点上,使用docker node ls指令查看集群节点信息;
在这里插入图片描述
此时之创建了一个集群节点(默认为管理节点),没有其它工作节点,因此只显示一条节点信息。

3.向Docker Swarm集群添加工作节点;

(1)启动另外两台Docker机器work1和work2,分别打开终端窗口,执行向集群中加入工作节点的指令;

使用的是在前面创建Docker Swarm集群时返回的向集群中添加工作节点的指令。如果已忘记添加到Docker Swarm集群的指令,可以在集群管理节点上执行“docker swarm join-token worker”指令进行查看。
在这里插入图片描述
【1】在work1节点执行向集群中加入工作节点的指令;
在这里插入图片描述
【2】在work2节点执行向集群中加入工作节点的指令;
在这里插入图片描述
(2)再次在集群管理节点上使用docker node ls指令查看集群节点信息;
在这里插入图片描述
从上图可看出,集群节点列表中显示出了1个管理节点和2个工作节点。

4.向Docker Swarm集群部署服务;
在这里插入图片描述
5.查看Docker Swarm集群中的服务;
(1)在管理节点上通过docker service ls指令查看当前集群中的服务信息;
在这里插入图片描述
(2)使用docker service inspect指令,查看部署的服务具体详情;
在这里插入图片描述
6.更改Docker Swarm集群服务副本数量;

【1】在管理节点manager1上,更改服务副本数量;
在这里插入图片描述
【2】使用命令docker service ps helloworld命令查看;
在这里插入图片描述
7.删除服务;
在这里插入图片描述
8.访问服务;
(1)在集群管理节点manager1上,执行docker network ls指令查看网络列表;
在这里插入图片描述
(2)在集群管理节点manager1上,创建以overlay为驱动的自定义网络;
在这里插入图片描述
(3)在集群管理节点manager1上,再次部署服务;
在这里插入图片描述
(4)在集群管理节点manager1上,使用docker service ps my-web指令查看服务的两个服务副本运行情况;
在这里插入图片描述
该服务的两个副本任务被欸随机分配到了manager1和work1两台节点上,并已正常运行。

(5)外界访问服务。打开浏览器,使用任意一台节点机器的“IP+8080”端口进行服务访问,都可以正常显示;

【1】manager1节点:
在这里插入图片描述
【2】work1节点:
在这里插入图片描述
【3】work2节点:
在这里插入图片描述

五、Volumes数据卷管理

1.创建并管理数据卷;
(1)创建数据卷;
在这里插入图片描述
(2)查看数据卷;
在这里插入图片描述
(3)核查数据卷;
在这里插入图片描述
(4)删除数据卷;
在这里插入图片描述
2.启动容器并加载数据卷;
(1)查看本机容器和数据卷。在Docker主机终端分别使用docker ps -a和docker volume ls指令查看本地Docker机器上存在的容器和数据卷;
在这里插入图片描述
(2)确认查看本机Docker文件系统中的容器和数据卷;
在这里插入图片描述
(3)启动容器并挂载数据卷;
在这里插入图片描述
(4)再次查看本机容器和数据卷列表;
在这里插入图片描述
(5)检查容器详情;
在这里插入图片描述在这里插入图片描述
(6)再次确认本机Docker文件系统中的容器和数据卷;
在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值