日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker的使用(五:Docker中的网络与数据管理)

發布時間:2023/11/27 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker的使用(五:Docker中的网络与数据管理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗環境

三臺運行有Ubuntu 16.04 操作系統的虛擬機,并每臺主機中已安裝docker環境;

學習目標

  1. docker的網絡管理
  2. docker Swarm集群的使用
  3. Volume數據卷的使用

實驗內容

任務一:Docker網絡管理

1、Docker默認網絡管理

docker安裝時自動創建三種網絡。客戶端可以通過網絡管理指令查看。

sudo docker network ls

下面通過一個示例來演示默認的birdge網絡管理方式

(1)創建并啟動容器

sudo run -itd --name=networktest ubuntu

(2)使用網絡查看指令查看網絡詳情

sudo docker network inspect bridge

2、自定義網絡介紹

(1).Bridge networks(橋接網絡)

(2).Overlay network in swarm mode(Swarm集群中的覆蓋網絡)

(3).Custome network plguins(定制網絡插件)

3、自定義bridge網絡

(1)使用如下命令在Docker主機上創建網絡

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 

注:此操作在執行命令后會返回網絡名稱。

4、容器之間的網絡通信

4.1、創建容器

  • 創建兩個默認的bridge網絡的容器,操作指令如下:
sudo docker run -itd --name=container1 busyboxsudo docker run -itd --name=container2 busybox

  • 創建一個使用自定義的isolated_nw 網絡的容器,操作指令如下:
docker run --network=isolated_nw -itd --name=container4 busybox

  • 為container2添加一個isolated-nw 網絡連接,操作指令如下:
docker network connect isolated_nw container2

4.2、容器地址查看

注:首先進入到container2容器,操作指令如下:

docker attach container2
  • 使用ifconfig命令查看

  • 分別查看其余兩個容器的地址

4.3、容器通信的測試

  • 進入容器1,ping容器4

注:網絡通信失敗,因為容器在不同網絡環境下無法通信。

  • 進入到容器2中,使用容器的ip地址鏈接容器1余容器4的通信測試;

注:通信測試成功

總結:不同容器必須在同一網絡環境下通信。默認網絡管理的容器可以用ip進行通信,無法用容器名稱通信,而自定義網絡管理的容器則同時可以使用容器IP和容器名稱進行通信。

?

任務二、Docker Swarm集群

1、Docker Swarm的使用

1.1、環境的準備

? ? ? ? ? 注:準備三臺Ubuntu,docker版本1.2以上,ip地址固定,TCP端口2377,7946,4789開放。

? ? ? ? ? ? ? ? ?ip地址如下:

? ? ? ? ? ? ? ? ?manger1:192.168.159.143

? ? ? ? ? ? ? ?? worker1:192.168.159.144

? ? ? ? ? ? ? ? ?worker2:192.168.159.145

  • 修改主機名,并添加地址映射

  • 網絡連通性測試

1.2、創建Docker Swarm集群

a)在名為manager1的Docker機器上創建Docker Swarm集群,具體操作指令如下:

docker swarm init --advertise-addr 192.168.159.143

注:生成的指令是用來創建worker節點的命令

b)在管理節點使用命令docker node ls查看

1.3、向docker swarm集群上添加工作節點

a)啟動其余兩臺工作節點并執行如下命令:

docker swarm join --token SWMTKN-1-4yi395mvp9wmi1jcfjas0rzl3t5d1hm84z4yla165fbonaxjzn-0tnvsw84tgp7dtugeeyg8tzem 192.168.159.143:2377

注:--token后的參數自己生成每個人不一樣

b)再次查看集群節點信息,操作命令如下:

docker node ls

1.4、向Docker Swarm,操作指令如下:

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

1.5、查看Docker Swarm集群的服務

a)使用命令docker service ls查看當前集群中的服務列表,操作指令如下:

b)查看部署的服務具體詳情,指令操作如下:

c)查看運行和分配情況,操作指令如下:

1.6、更改docker swarm集群服務副本數量

docekr scale helloworld=5

  • 查看服務副本情況

1.7、刪除服務

對于不需要的服務,進行刪除,會返回服務名稱,操作指令如下:

docker service rm helloworld

1.8、訪問服務

注:前面部署的服務都沒有直接向外界暴露服務端口,外界也無法正常訪問服務。以下就通過自定義overlay驅動網絡為例來講解集群下的網絡管理與服務訪問;

a)在管理節點上執行命令 docker network ls 查看網絡列表

b)在管理節點上創建overlay的自定義網絡。

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

c)在集群管理節點上,再次部署。

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

總結:此處拉取鏡像可能會失敗,或者持續卡主,解決方法就是,給Docker中配置加速器

解決方案可以看此博文https://blog.csdn.net/qq_37823605/article/details/90666773

d)使用命令 docker service ps my-web 查看服務副本運行情況

e)外界訪問驗證

注:打開瀏覽器使用任意一臺機器節點“IP+8080”進行服務訪問

?

任務三、Volumes數據卷管理

1、創建并管理數據卷

1.1、創建數據卷

注:通過 docker volume create my-vol 指令創建一個名為my-vol的數據卷,操作如下:

1.2、查看數據卷

注:通過 docker volume ls?指令查看本地數據卷列表,操作如下:

1.3、核查數據卷

注:通過 docker volume inspect my-vol?指令查看指定數據卷列表,操作如下:

1.4、刪除數據卷

注:當不再需要使用數據卷后,可以使用docker volume rn 指令刪除指定名稱數據卷,操作如下:

2、啟動容器并加載數據卷

2.1、查看本機容器和數據卷

  • 使用指令 docker pa -a 查看

  • 使用指令 docker volume ls查看

2.2、確認本機docker文件系統中的容器和數據卷

注:首先在Docker主機終端中將普通用戶切換到root用戶中,然后進入“/var/lib/docker”目錄,查看信息;

2.3、啟動容器并掛載數據卷

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

2.4、再次查看本機容器和數據卷列表

2.5、檢查容器詳情

注:使用docker inspect 查看容器詳情

2.6、再次確認本機文件系統中的容器和數據卷

注:首先在Docker主機終端中將普通用戶切換到root用戶中,然后進入“/var/lib/docker”目錄,查看信息;

注:從以上圖中可以看出,新建的容器數據卷已自啟動生成在本地文件目錄中。

?

?

?

?

總結

以上是生活随笔為你收集整理的Docker的使用(五:Docker中的网络与数据管理)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:Docker的使用(五:Docker中的网络与数据管理)