您的位置:首页 > 运维架构 > Docker

Docker中的网络与数据管理

2019-06-13 18:22 2126 查看

一、Docker网络管理

1.1.Dcoker默认网络管理

docker安装时自动创建三种网络。客户端可以通过网络管理指令查看。

sudo docker network ls

下面通过一个示例来演示默认的birdge网络管理方式

(1)创建并启动容器

sudo run -itd --name=networktest ubuntu 

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

sudo docker network inspect bridge

1.2自定义网络介绍

(1).Bridge networks

(2).Overlay network in swarm mode

(3).Custome network plguins

1.3自定义bridge网络

(1)创建自定义网络

sudo docker network create --driver bridge isolated_nw

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

sudo docker run --network=isolated_nw -itd --name=nwtest busybox

(3)为容器添加网络管理

sudo docker network connect bridge nwtest

 

(4)断开容器网络连接

sudo docker network disconnect isolated_nw nwtest

(5)移除自定义网络

sudo docker network rm isolated_nw 

执行命令后会返回网络名称

1.4容器之间的网络通信

(1)创建容器

【1】创建两个默认的bridge网络的容器

sudo docker run -itd --name=container1 busybox

sudo docker run -itd --name=container2 busybox

【2】创建一个使用自定义的isolated_nw 网络的容器

sudo docker run --network=isloated_nw -itd --name=container4 busybox

【3】为container2添加一个isolated-nw 网络连接

sudo docker network connect isolated_nw container2

(2)容器地址查看

首先进入container2容器

sudo docker attach container2 

然后使用ifconfig命令查看

分别查看其余两个容器地址

(3)容器通信测试

进入容器1,ping容器4

失败,容器在不同网络环境下无法通信

然后进入容器2,用容器IP连接容器1容器4通信测试。

成功。

结论:不同容器必须在同一网络环境下通信。默认网络管理的容器可以用ip进行通信,无法用容器名称通信,自定义的可以

二、Docker Swarm 集群

1.docker swarm使用

(1)环境搭建

准备三台Ubuntu,docker版本1.2以上,ip地址固定,TCP端口2377,7946,4789开放。

ip地址如下:

manger1:192.168.35.128

worker1:192.168.35.130

worker2:192.168.35.132

(2)创建docker swarm集群

【1】在manger1上创建docker swarm集群

sudo docker swarm init --advertise-addr 192.168.35.128

图中红框表示用来添加work节点命令

【2】在管理节点用docker node ls 查看

(3)向docker swarm 集群添加工作节点

【1】启动另外两台docker机器

执行2.1中红框命令

--token后的参数自己生成每个人不一样

【2】再次查看

(4)向docker swarm集群部署服务

sudo docker service create --replicas 1 --name helloworld alpine ping docer.com

(5)查看dockerswarm 集群的服务

【1】用sudo docker service ls查看

【2】查看具体详情

【3】查看运行和分配情况

6.更改docker swarm集群服务副本数量

sudo docekr scale helloworld=5

查看

7.删除服务

对于不需要的服务,使用 sudo docker service rm helloworld 进行删除,会返回服务名称

8.访问服务

【1】在管理节点上执行图中命令查看网络列表

【2】在管理节点上创建overlay的自定义网络。

sudo docker network create \
         --driver overlay \
         my-multi-host-network

【3】再次部署

sudo docker service create \
         --network my-multi-host-network \
         --name my-web \
         --publish 8080:80 \
         --replicas 2 \
         nginx

【4】使用图示命令查看服务副本运行情况

【5】外界访问服务

打开浏览器使用任意一台机器节点IP急+8080进行服务访问

 

 

三、Volumes数据卷管理

1.数据卷的使用

【1】创建数据卷

docker volume create my-vol

【2】查看数据卷

docker volume ls

【3】核查数据卷

docker volume inspect my-vol

【4】删除数据卷

docker volume rm my-vol

删除成功后返回数据卷名称

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

【1】查看本机容器和数据卷

【2】确认本机docker文件系统中的容器和数据卷

【3】启动容器并挂载数据卷

sudo docker run -d \
         -it \
         --name devtest \
         --mount source=myvol,target=/app \
         busybox:latest

【4】再次查看

【5】检查容器详情

使用docker inspect 查看容器详情

【6】再次确认本机文件系统中的容器和数据卷

可以看出,新建的容器数据卷已自动生成在本地文件目录中。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: