Docker网络管理-微服务架构基础

一、Docker网络管理

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】再次确认本机文件系统中的容器和数据卷

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值