swarm管理應用資料

2021-08-25 05:35:23 字數 3023 閱讀 7190

將宿主機資料掛載到容器

volume

建立容器和資料卷

docker

service

create--

mount

type=volume

,src=nginx_vol

,dst=/usr/share/nginx/html--

replicas1-

-name

test01

nginx

檢視test01容器部署在那台機器上:然後去對應的機器上面去檢視

docker service ps test01
檢視資料卷

[root@localhost ~]# docker volume inspect nginx_vol

[

]

檢視資料卷物理路徑:

ls /data/docker_data/volumes/nginx_vol/_data

50x.html index.html

此時我們可以進入容器內部也能看到:

[root@localhost ~]# docker exec -it 4bfb008e460c bash

root@4bfb008e460c

:/# ls /usr/share/nginx/html/

50x.html index.html

bind mounts

# 讀寫掛載

建立掛載目錄:

mkdir /data/wwwroot   注意三颱機器全部要建立,因為swarm會隨機建立到一台機器上

docker service create --mount type=bind,src=/data/wwwroot,dst=/usr/share

/nginx/html --name myservice nginx

注意,bind形式掛載會覆蓋容器中指定的內容,例如/usr/share/nginx/html 內容會被覆蓋要重新寫入

# 唯讀掛載

docker service create --mount type=bind,src=/data/wwwroot,dst=/usr/share

/nginx/html,ro --name myservice nginx

單機沒法共享資料,所以我們需要借助nfs,集群 共用資料

所有機器 全部裝上nfs

yum install -y nfs-utils

在主節點上面編輯配置檔案

vim /etc/export

/opt/container_data 192.168.1.0/24(rw,sync,no_root_squash)

代表nfs共享目錄/opt/container_data,准許ip端192.168.1.0/24 並且擁有root許可權

建立映象模板:

docker service create \ --mount 'type=volume,src=,dst=,volume-driver=local,volume-opt=type=nfs,volumeopt=device=:,"volume-opt=o=addr=,vers=4,soft,timeo=180,bg,tcp,rw"' --name myservice \

例如: docker service create --mount 'type=volume,src=nfs-vol,dst=/usr/share/nginx/html,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/opt/container_data/,"volume-opt=o=addr=192.168.1.39,vers=4,soft,timeo=180,bg,tcp,rw"' --name nginx-

nfs nginx

執行起來後,我們可以去es3主機裡面去看看是否有資料

[root@master container_data]# docker service ps nginx-nfs

idname

image

node

desired

state

current

state

error

ports

k4zbpfdr0dwr nginx-nfs.1

nginx:latest es3 running

running less than a second ago

[root@es3 ~]# docker ps

container

idimage

command

created

status

ports

names

94df21b30e67 nginx:latest "nginx -g 'daemon of…"

2 minutes ago up

2 minutes 80/tcp nginx-nfs.1.k4zbpfdr0dwr067q9xfxngswz

[root@es3 ~]# docker exec -it 94df21b30e67 bash

root@94df21b30e67

:/# ls /usr/share/nginx/html/

index.html

當我們擴容以後,一會發現使用的nfs共享目錄:

docker service scale nginx-nfs=3

[root@master opt]# docker volume ls

driver volume name

local nfs-vol

溝通管理應用

有效的溝通是資訊專案建設成敗的關鍵,專案經理應該將75 以上的精力時間用於溝通。專案建設不知道該與那些人溝通,溝通什麼內容 溝通物件不明,就不知道如何開展專案工作 在需求調研時不知道向誰了解問題,需求確認時不知道向誰確認設計,變更簽字時不知道向誰提交申請等 溝通標準不確立,專案建設的階段成果將無法得...

redmine專案管理應用

redmine是乙個開源的 基於web的專案管理和缺陷跟蹤工具。使用ruby on rails框架開發,它是跨平台和資料庫的。它的日曆和甘特圖用於專案輔助和顯示進度。它支援多專案的管理。redmine是乙個自由開放原始碼的軟體,它提供整合的專案管理功能 問題跟蹤,並提供多個版本控制支援。雖說像ibm...

docker資料卷管理 管理應用程式資料

volume bind mount 將docker主機資料掛載到容器中 docker提供三種不同的方式將資料從宿主機掛載到容器中 volumes bind mounts和tmpfs volumes docker管理宿主機檔案系統的一部分 var lib docker volumus bind mou...