Docker中的网络与数据管理

Docker中的网络与数据管理

docker网络管理

Docker默认使用bridge(单主机互联)和overlay(可跨主机互联)两种网络驱动来进行容器的网络管理。
在进行docker安装时,docker就会自动创建三种网络。在客户端=可以查看。命令如下:

$docker network ls

1.下面通过一个示例来演示默认bridge网络管理方式,执行过程如下:
1).创建并启动容器:
$docker run -itd --name=networktest ubuntu
2) .查看网络详情:
$docker network inspect bridge

注:在docker swarm集群环境下,除三种默认网络外,docker还提供了docker_gwbridge和ingress两种默认网络。
2.自定义网络。
1).创建自定义网络.
$docker network create --driver bridge isolated_nw
2).使用自定义网络启动容器。
$docker run --network=isolated_nw -itd --name=nwtest busybox
3).为网络添加管理。
$docker network connect bridge nwtest
4).断开容器网络链接。
$docker network disconnect isolated_nw nwtest
5).移除自定义网络。
$docker network rm isolated_nw
3.容器之间的网络通信。
1).创建容器container1和container2。
$docker run -itd --name=container1 busybox
$docker run -itd --name=container2 busybox
2).创建一个使用自定义网络的容器container3。
$ docker run --network=isolated_nw -itd --name=container3 busybox
3).为container2容器新增一个自定义的网络连接。
$ docker network connect isolated_nw container2
4).容器地址查看。
$docker attach container2
5).容器通信测试:在这里插入图片描述在这里插入图片描述
默认网络下使用–link参数通过容器名称进行通信:在这里插入图片描述

docker swarm 集群

上面对docker自定义网络进行了演示,其中提到了另一种网络overlay必须在docker swarm集群环境下才能使用,下面针对docker swarm集群进行演示。

  1. 环境搭建。
    准备三台安装docker的Ubuntu主机,要求docker版本1.2以上,旧版本不支持集群;修改三台主机名,分别为manage、work1、work2.

  2. .创建docker swarm集群。
    1). 在manage主机上创建docker swarm集群,操作指令如下:在这里插入图片描述
    2).在管理节点上查看集群节点信息。
    $docker node ls

  3. 向docker swarm集群添加工作节点。
    1).启动另外两台主机,向集群中加入工作节点,指令如下。在这里插入图片描述在这里插入图片描述
    2).查看集群信息。
    $docker node ls

  4. 向docker swarm集群部署服务。
    $ docker service create --replicas 1 --name=helloworld alpine ping docker.com在这里插入图片描述
    注:
    .docker service create :用于创建一个基于Alpine镜像的服务。
    .–replicas:指定了此服务只有一个副本实例。
    .–name:服务名称。
    .ping docker.com:表示服务启动后执行的命令。

  5. 查看docker swarm集群中的服务。
    1).查看集群中服务列表信息。在这里插入图片描述
    2).查看服务详情。在这里插入图片描述
    3).查看服务在集群节点上的分配和运行情况。
    $ docker service ps hellonx

  6. 更改docker swarm集群服务副本数量,在manage节点上使用以下命令。在这里插入图片描述

  7. 删除服务。在这里插入图片描述

  8. 访问服务。
    1).在manage节点上执行以下命令查看网络列表。在这里插入图片描述
    2).在manage节点上创建一overlay为驱动的自定义网络。
    $docker network create \--driver overlay \my-multi-host-network
    3).在manage节点上再次部署服务。
    $ docker service create \--network my-multi-host-network \--name my-web \--publish 8080:80 \--replicas 2 \nginx
    4).在manage节点上,使用指令查看服务副本运行情况。
    $docker service ps my-web
    5).外界访问服务。

docker 数据管理

docker镜像是通过读取dockerfile文件中的指令构建的,dockerfile的每条指令都会创建一个镜像层,并且每层都是只读的,这一系列镜像层就构建成了docker镜像。
docker中的数据都是存放在容器层的,这样存储有较多的缺陷。为克服这种缺陷,使用另一种叫做docker volume数据外部挂载的机制进行数据管理。
volume数据卷使用。

  1. 创建并管理数据卷。
    1).创建数据卷。在这里插入图片描述
    2).查看数据卷。在这里插入图片描述
    3).核查数据卷。在这里插入图片描述
    4) .删除数据卷。
    $docker volume rm my-web
    2.启动融合器并加载数据卷。
    1).查看本机容器和数据卷。在这里插入图片描述
    2).确认查看本机docker文件系统中的容器和数据卷。在这里插入图片描述
    3).启动容器并挂在数据卷。
    $docker run -d -it --name devtest --mount source=nxvol,target=/app busybox:latest
    4).再次查看本级容器和数据卷。
    $docker ps
    5).检查容器详情。
    $docker inspect
    6) .再次确认本机docker文件系统中的容器和数据卷。在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值