Docker中的网络与数据管理

一、Docker网络管理

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

1、Docker默认网络管理

  在进行Docker安装时,Docker会自动创建三种网络,如图

 Docker中的网络与数据管理

(1)创建并启动容器

Docker中的网络与数据管理

在后台启动了一个镜像名称为ubuntu的容器,并为启动后的容器命名为networktest

Docker中的网络与数据管理

(2)使用网络查看指令查看网络详情

Docker中的网络与数据管理

2、自定义网络介绍

(1)Docker默认网络的问题

         虽然Docker提供的默认网络的使用比较简单,但是为了保证各容器中应用的安全性,在实际开发中geng更推荐使用自定义的网络进行容器管理。

(2)Docker自定义网络介绍

         在Docker中,可以自定义br网络、overlay网络,也可以创建network plugin(网络插件)或者远程网络以实现容器网络的完全定制和控制。

<1>Bridge networks(桥接网络)

          为了保证容器的安全性,可以使用基于bridge的驱动创新的bridge网络,这种基于bridge驱动的自定义网络可以较好的实现容器隔离。

<2>Overlay network in swarm mode (Swarm集群中的覆盖网络)

          基于overly驱动的自定网络,只适用于需要服务的集群中的节点,而不会对外部其他服务或者Docker主机开放。

<3>Custom network plugins(定制网络插件)

          自定义网络插件会在Docker进程所在主机作为另一个运行的进程。

3、自定义bridge网络

(1)创建自定义网络

使用docker network ls指令查看创建的网络是否成功

Docker中的网络与数据管理

(2)使用自定义网络启动容器

Docker中的网络与数据管理

通过docker inspect mwtest指令可以查看启动后的容器详情

Docker中的网络与数据管理

(3)断开容器网络连接

Docker中的网络与数据管理

4、容器之间的网络通信

(1)创建容器

<1>创建两个使用默认的bridge网络的容器

Docker中的网络与数据管理

<2>创建一个使用自定义的isolated_nw网络(需要预先创建)的容器

Docker中的网络与数据管理

<3>为container2容器新增一个自定义的isolated_nw网络连接

Docker中的网络与数据管理

(2)容器地址查看

在容器中查看网卡

Docker中的网络与数据管理

分别进入容器1和容器3,通过ifconfig指令查看对应容器的IP地址

Docker中的网络与数据管理

Docker中的网络与数据管理

使用docker attach container1指令进入container1容器内部,使用ping指令连接container3来查看是否能够通信。

Docker中的网络与数据管理

进入容器2,使用IP地址ping容器1和容器3

Docker中的网络与数据管理

进入容器2,使用容器名ping容器1和容器3.

Docker中的网络与数据管理

5、Docker Swarm使用

1、环境搭建

2、创建Docker Swarm集群

(1)在名为manger1的Docker机器上创建Docker Swarm集群

Docker中的网络与数据管理

(2)在管理节点上,使用docker node ls 指令查看集群节点信息

Docker中的网络与数据管理

3、向Docker Swarm添加工作节点

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

Docker中的网络与数据管理

(2)再次在集群管理节点上使用docker node ls指令查看集群节点信息

Docker中的网络与数据管理

4、向Docker Swarm 集群部署服务

Docker中的网络与数据管理

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

(1)在管理节点上使用docker node ls指令查看集群节点信息

Docker中的网络与数据管理

(2)使用docker service inspect指令,查看部署的服务具体详情

Docker中的网络与数据管理

(3)使用docker service ps指令查看指定服务在集群节点上的分配和运行情况

Docker中的网络与数据管理

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

Docker中的网络与数据管理

7、删除服务

Docker中的网络与数据管理

8、访问服务

(1)在集群管理节点manager1上,执行docker network ls指令cha查看网络列表

Docker中的网络与数据管理

(2)在集群管理节点manager1上,创建以overlay为驱动的自定义网络

Docker中的网络与数据管理

(3)在集群管理jie'节点mangager1上,再次部署服务

Docker中的网络与数据管理

(4)在集群管理节点manager1上,使用docker service ps my-web指令查看服务的两个服务副本运行情况。

Docker中的网络与数据管理

(5)外界访问服务

Docker中的网络与数据管理

Docker中的网络与数据管理

Docker中的网络与数据管理

6、Volumes数据卷使用

1、创建并管理数据卷

(1)创建数据卷

(2)查看数据卷

Docker中的网络与数据管理

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

(1)查看本机容器和数据卷

Docker中的网络与数据管理

(2)确认查看本机Docker文件系统中的容器和数据卷

Docker中的网络与数据管理

(3)启动容器并挂载数据卷

使用--mount参数挂载

Docker中的网络与数据管理

使用-v参数挂载

Docker中的网络与数据管理

(4)再次查看本机容器和数据卷列表

Docker中的网络与数据管理

(5)检查容器详情

Docker中的网络与数据管理

(6)再次确认本机Docker文件系统中的容器和数据卷

Docker中的网络与数据管理