欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker中的网络和数据管理

程序员文章站 2022-06-03 10:00:55
...

 

  • Docker默认网络管理

  • 查看Docker所有网络结果如下

$ docker network ls

        Docker中的网络和数据管理

  • 演示默认的bridge网络管理方式

        1.创建并启动容器,结果如下

$ docker run -itd --name=networktest ubuntu

          Docker中的网络和数据管理

         2.使用网络查看指令查看详情

$ docker network inspect bridge

        Docker中的网络和数据管理

  • 自定义bridge网络

        1.使用指令创建bridge网络

$ docker network create --driver bridge isolated_nw

        Docker中的网络和数据管理

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

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

    Docker中的网络和数据管理

        3.创建后再次查看所有网络

        Docker中的网络和数据管理

        4.创建自定义网络后,使用该网络启动一个容器

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

     Docker中的网络和数据管理

        5.查看启动该容器后的网络详情

$ docker inspect nwtest

        Docker中的网络和数据管理

        6.为容器添加网络管理方式后再次查看网络详情

$ docker network connect bridge nwtest\
$ docker inspect nwtest

        Docker中的网络和数据管理

        7.断开容器的网络连接

$ docker network disconnect isolated_nw nwtest

        8.移除自定义网络

$ docker network rm isolated_nw

        Docker中的网络和数据管理

        9.移除后再次查看网络详情,没有了isolated_nw

  • 容器之间互相通信

        1.创建两个默认使用bridge网络容器

$ docker run -itd --name=comtainer1 busybox
$ docker run -itd --name=comtainer2 busybox

        Docker中的网络和数据管理

        2.创建一个使用自定义的isolated_nw网络(需要提前创建)

$ docker run --network=isolated_nw -itd --name=container3 busybox

Docker中的网络和数据管理

        3.为container2容器增加一个自定义的网络isolater_nw网络连接

$ docker network connect isolated_nw container2

        4.进入容器2,用ifconfig命令查看网络地址,容器2为172.17.0.3

$ docker attach container2

        Docker中的网络和数据管理

        5.分别进入容器1和3查看ip地址容器1为172.17.0.5,容器3为172.19.0.2

        Docker中的网络和数据管理

        6.容器通信测试。进入容器后使用ping命令

创建Docker Swarm集群

    准备工作:

       创建三台虚拟机,并在每太虚拟机上都安装docker1.12以上的版本且ip与主机名的设置如下

      

manager1 192.168.10.129
worker1 192.168.10.131
worker2 192.168.10.132

        1.在名为manager1的的机器上创建Docker Swarm集群

$ docker swarm init --advertise-addr 192.168.10.129

Docker中的网络和数据管理

        2.查看节点信息

$ docker node ls

        Docker中的网络和数据管理

        3.把worker1heworker2添加到管理节点中(此处的指令为自己创建Docker Swarm时生成的指令)

$ docker swarm join --token SWMTKN-1-6diivm6rvmmdkxr1y03mw8exynbv70kypls99h87y0ditihhjx-1f7ar4k6x937a84tww46cj34w 192.168.10.129:2377

        Docker中的网络和数据管理

        4.再次在管理节点上查看查看集群信息

$ docker node ls

        Docker中的网络和数据管理

        5.向Docker集群部署服务

$ docker service create --replicas 1 --name=helloworld alpine ping docker.com

        6.查看当前集群中的服务列表

$ docker service ls

        Docker中的网络和数据管理

        7.查看已经部署的服务详情

$ docker service inspect helloworld

        Docker中的网络和数据管理

        8.查看指定节点上的非配和运行情况

$ docker service scale helloworld=5

         9.删除服务

$ docker sercive rm helloworld

        Docker中的网络和数据管理

        10.在集群管理节点上查看网络列表

$ docker network ls

        Docker中的网络和数据管理

        11.在管理节点上创建以overlay为驱动的自定义网络

$ docker network create --driver overlay my-multi-host-network

        Docker中的网络和数据管理

        12.在管理节点上再次部署服务

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

         13.查看副本的运行情况

$ docker service ps my-web

        Docker中的网络和数据管理

        14.在宿主机访问ip+8080

  • Volumes数据卷管理

        1.创建数据卷

$ docker volume create my-vol

        Docker中的网络和数据管理

        2.查看数据卷

$ docker volume ls

       Docker中的网络和数据管理

        3.检查数据卷

$ docker volume inspect my-vol

        Docker中的网络和数据管理

        4.删除数据卷

$ docker volume rm my-vol

        5.查看本机容器

$ docker ps -a

        Docker中的网络和数据管理

        6.查看本机数据卷

$  docker volume ls

        Docker中的网络和数据管理

        7.查看Docker在本机上的文件系统目录

        Docker中的网络和数据管理

        8.启动容器并挂载数据卷

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

        Docker中的网络和数据管理

        9.再次查看本机容器和数据卷

Docker中的网络和数据管理

        10.查看容器详情

        Docker中的网络和数据管理

        11.再次确认本机文件目录

        Docker中的网络和数据管理