Docker中的网络与数据管理

一:Docker 网络管理


Docker默认使用bridge(单主机互联)和overlay(可跨主机互联)两种网络驱动来进行容器的网络管理。如果需要,用户还可以自定义网络驱动插件进行Docker容器的网络管理。

1:docker默认网络管理

在进行Docker安装时,Docker就会自动创建三种网络。客户端可以通过网络管理指令进行查看,具体操作指令如下 :
在这里插入图片描述
(1):创建并启动容器。在终端窗口中执行如下命令:
在这里插入图片描述
(2):使用网络查看指令查看网络详情,具体操作指令如下:
在这里插入图片描述

执行上述命令后就会显示出bridge网络的所有详细信息!

在这里插入图片描述

2:自定义网络介绍

(1):Bridge networks(桥接模式)
(2):Overlay network in swarm mode (Swarm集群中的覆盖网络)
(3):Custom network plugins(定制网络插件)

3:自定义bridge网络
   对非集群环境下基于bridge驱动的自定义网络进行详细讲解

(1):创建自定义网络
在Docker主机上可以使用docker network create指令来创建网络
在这里插入图片描述

创建完成后,可以使用docker network ls 指令查看创建的网络是否成功
在这里插入图片描述
(2):使用自定义网络启动容器
在这里插入图片描述
通过docker inspect nwtest指令可以查看启动后的容器网络详情,来核查其网络管理方式
在这里插入图片描述
(3):为容器添加网络管理
名为nwtest的容器使用只有自定义的isolated_nw一种网络管理方式,我们还可以继续为该容器添加其他网络管理方式,具体操作指令如下:
在这里插入图片描述
执行上述指令后,会为容器nwtest另添加一种默认的bridge网络管理方式。再次使用dockr inspect nwtest指令查看该容器网络详情。
在这里插入图片描述(4):断开容器网络连接
在这里插入图片描述
(5):移除自定义网络
在这里插入图片描述

4:容器之间的网络通信
  Docker中的不同容器之间需要通过网络来进行通信,那么各个容器之间具体是如何实现通信的呢?实现Docker容器之间的通信的具体步骤如下:

(1):创建容器
创建两个使用默认的bridge网络的容器,具体操作指令如下:
在这里插入图片描述
创建一个使用自定义的isolated_nw网络(需要预先创建【同步骤3】)的容器,具体提操作指令如下:在这里插入图片描述
为container2容器新增一个自定义的isolated_nw网络连接,具体操作指令如下:
在这里插入图片描述
(2):容器地址查看
首先,进入container容器,具体操作指令如下:
在这里插入图片描述
接下来分别进入容器container1和container3,并通过ifconfig指令查看对应容器的IP地址
在这里插入图片描述在这里插入图片描述
(3):容器通信测试
首先,使用docker attach container1指令进入container1容器内部,使用ping指令连接container3来查看是否能够通信
在这里插入图片描述在这里插入图片描述

二:Docker Swarm集群


Docker Swarm使用
1:环境搭建

在这里插入图片描述
更改IP步骤:
第一步:先获取网卡名称,输入ifconfig,网卡名称为ens33
第二步:修改网卡配置文件
在这里插入图片描述
注意:*上述更改的网关和ip信息要和虚拟机设置一致
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
第三步:重启网络服务:#sudo /etc/init.d/networking restart
在这里插入图片描述
第四步:测试连通性
在这里插入图片描述

2:创建Docker Swarm集群

(1):在名为manager1的Docker机器上创建Docker Swarm集群,具体操作指令如下:
在这里插入图片描述
(2):在管理节点上,使用docker node ls指令查看集群节点信息
在这里插入图片描述

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

(1):启动另外两台Docker机器worker1和worker2,分别打开终端窗口,执行向集群中加入工作节点的指令,具体操作指令如下:
在这里插入图片描述
(2):再次在集群管理节点上使用docker node ls指令查看集群节点信息
在这里插入图片描述

4:向Docker Swarm集群部署服务

为了方便读者的学习,这里以使用Docker Hub上自带的镜像来启动服务,也可以通过Dockerfile构建镜像来启动服务
在这里插入图片描述

5:查看Docker Swarm集群中的服务

(1):当服务部署完成后,在管理节点上可以通过docker service ls指令查看当前集群中的服务列表信息,具体操作指令如下:
在这里插入图片描述
(2):可以使用docker service inspect指令,查看部署的服务具体详情,具体操作指令如下在这里插入图片描述在这里插入图片描述
(3):可以使用docker service ps 指令查看指定服务在集群节点上的分配和运行情况,具体操作指令如下
#docker service ps helloworld

6:更改Docker Swarm集群服务副本数量

在管理节点manager1,更改服务副本数量的指令如下
在这里插入图片描述

7:删除服务

#docker service rm helloworld

8:访问服务

前面部署的服务都没有直接向外界暴露服务端口,外界也无法正常访问服务。接下来我们就通过自定义overlay驱动网络为例来讲解集群下的网络管理与服务访问,具体的实现过程如下
(1):在集群管理节点manager1上,执行docker network ls指令查看网络列表
在这里插入图片描述
(2):在集群管理节点manager1上,创建以overlay为驱动的自定义网络,具体操作指令如下
在这里插入图片描述
(3):在集群管理节点manager1上,再次部署服务,具体操作指令如下
在这里插入图片描述
(4):在集群管理节点manager1,使用docker service ps my-web指令查看服务的两个服务副本运行情况
在这里插入图片描述
(5):外界访问服务
打开浏览器,使用任意一台机器的“IP+8080”端口进行服务访问,都可以正常显示,具体效果如下
在这里插入图片描述在这里插入图片描述在这里插入图片描述

三:Volumes数据卷管理


1:Volumes数据卷使用

(1):创建并管理数据卷
在这里插入图片描述
(2):查看数据卷
在这里插入图片描述
(3):检查数据卷
在这里插入图片描述
(4):删除数据卷
#docker volume rm my-vol

2:启动容器并加载数据卷

(1):查看本机容器和数据卷
在Docker主机终端分别使用docker ps -a和docker volume ls指令查看本地Docker机器上存在的容器和数据卷
在这里插入图片描述在这里插入图片描述
(2):确认查看本机Docker文件系统中的容器和数据卷
首先在Docker主机终端中将普通用户切换到root用户,然后进入“/var/lib/docker”目录,即Docker默认在本机上的文件系统目录,查看信息

在这里插入图片描述(3):启动容器并挂载数据卷
使用docker run指令创建并启动一个容器,同时挂载一个数据卷,具体操作指令如下
在这里插入图片描述
(4):再次查看本机容器和数据卷列表
在Docker主机终端分别使用docker ps -a 和docker volume ls 指令查看本地Docker机器上存在的容器和数据卷
在这里插入图片描述
在这里插入图片描述
(5):检查容器详情
在Docker主机终端使用docker inspect指令查看容器详情(主要查看数据挂载信息)
在这里插入图片描述(6):再次确认本机Docker文件系统中的容器和数据卷
首先在Docker主机终端中将普通用户切换到root用户,然后进入/var/lib/docker目录,然后分别进入containers容器文件目录和volumes数据卷文件目录查看内容
在这里插入图片描述在这里插入图片描述

四:出现的问题

1:在搭建环境时,出现不能访问外网的问题(ping www.baidu.com
解决方案:
:(1):保证网络环境设置一致的情况
在这里插入图片描述在这里插入图片描述
(2):检查DNS代理是否配置正确
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值