最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Docker數(shù)據(jù)卷的創(chuàng)建與應(yīng)用

2022-09-16 16:59 作者:限量版范兒  | 我要投稿

Docker數(shù)據(jù)卷的創(chuàng)建與應(yīng)用

在容器里增加、刪除或修改文件,其實(shí)都是對(duì)可寫層里的文件副本進(jìn)行了操作。在容器關(guān)閉后,該可寫層也會(huì)被刪除,對(duì)容器的所有修改都會(huì)失效,因此需要解決容器內(nèi)文件持久化的問(wèn)題。Docker提供了兩種方案來(lái)實(shí)現(xiàn):

一、Docker掛載時(shí)創(chuàng)建卷:把宿主機(jī)文件系統(tǒng)里的目錄映射到容器內(nèi)的目錄。如此一來(lái),容器內(nèi)在該目錄里創(chuàng)建的所有文件,都存儲(chǔ)到宿主機(jī)的對(duì)應(yīng)目錄中,在關(guān)閉容器后,宿主機(jī)的目錄依然存在,再次啟動(dòng)容器時(shí)還能讀取到之前創(chuàng)建的文件,因此實(shí)現(xiàn)了容器的文件持久化。當(dāng)然同時(shí)要明白,如果是對(duì)鏡像自帶文件進(jìn)行了修改,由于鏡像是只讀的,該修改操作無(wú)法在關(guān)閉容器時(shí)保存下來(lái),除非在修改了文件后構(gòu)建一個(gè)新的鏡像。

1、Docker 掛載卷

從nginx鏡像中拉取一個(gè)名為nginx-test01的容器,指定映射到宿主機(jī)80端口,將宿主機(jī)的/data掛載到容器/usr/share/nginx/html下,從而使宿主機(jī)的/data成為掛載卷

[root@docker ~]# docker run -d -p 80:80 -v /data:/usr/share/nginx/html --name nginx-test01 nginx 4fdbb1bdfcb36348643f0c2e64a72e9750ee0b2e1b6dbae3d41fcec179209ce6

訪問(wèn)測(cè)試:

[root@docker ~]# curl 192.168.22.135:80



403 Forbidden




nginx/1.17.5


由于/data中并沒(méi)有主頁(yè)資源,所以訪問(wèn)結(jié)果顯示403(在下一步中寫入)

2、宿主機(jī)寫入數(shù)據(jù)再次訪問(wèn)驗(yàn)證:

[root@docker ~]# cd /data [root@docker data]# ls [root@docker data]# echo 123asd > index.html [root@docker data]# curl 192.168.22.135:80 123asd

3、設(shè)置共享卷

使用同一個(gè)卷啟動(dòng)一個(gè)新容器并訪問(wèn)測(cè)試:

從nginx鏡像中拉取一個(gè)名為nginx-test02的容器,指定映射到宿主機(jī)8080端口,仍將宿主機(jī)的/data掛載到容器/usr/share/nginx/html下,由于/data已作為了容器nginx-test01的掛在卷,在這里又成為了nginx-test02掛載卷,因此宿主機(jī)/data成為共享卷。

[root@docker ~]# docker run -d -p 8080:80 -v /data:/usr/share/nginx/html --name nginx-test02 nginx 0c609176a6f77df1d467d679f18221de900943ddbc9aba9c589c00b6ed9e6405 [root@docker ~]# curl 192.168.22.135:8080 123asd

二、Docker創(chuàng)建卷后掛載:把多臺(tái)宿主機(jī)的磁盤目錄通過(guò)網(wǎng)絡(luò)聯(lián)合為共享存儲(chǔ),然后把共享存儲(chǔ)中的特定目錄映射給特定的容器,這樣容器在重啟時(shí),還是能讀取到關(guān)閉前創(chuàng)建的文件。生產(chǎn)環(huán)境中常用NFS作為共享存儲(chǔ)方案。

1、創(chuàng)建一個(gè)名為nginx-j01的簡(jiǎn)單卷并查看卷列表

[root@docker ~]# docker volume create --name nginx-j01 nginx-j01 [root@docker ~]# docker volume ls DRIVER ? ? ? ? ? ? ?VOLUME NAME local ? ? ? ? ? ? ? nginx-j01

2、查看卷路徑

[root@docker ~]# docker volume inspect nginx-j01 [ ? ?{ ? ? ? ?"CreatedAt": "2020-07-29T17:50:21+08:00", ? ? ? ?"Driver": "local", ? ? ? ?"Labels": {}, ? ? ? ?"Mountpoint": "/var/lib/docker/volumes/nginx-j01/_data", ? ? ? ?"Name": "nginx-j01", ? ? ? ?"Options": {}, ? ? ? ?"Scope": "local" ? ?} ]

可查看出卷所在路徑為/var/lib/docker/volumes/nginx-j01/_data

3、創(chuàng)建docker共享卷掛載

從鏡像nginx中拉取一個(gè)名為nginx-test03的容器,映射宿主機(jī)端口9000,將之前創(chuàng)建的共享卷nginx-j01掛載到名為nginx-test03的容器中;將數(shù)據(jù)寫入主頁(yè)文件,并做訪問(wèn)測(cè)試。

[root@docker ~]# docker run -d -p 9000:80 -v nginx-j01:/usr/share/nginx/html --name nginx-test03 nginx c40c65a2060d34319ac33a2263fb11cffdf50075b8efd4209cbd97ee163fb2e7 [root@docker ~]# echo 888 > /var/lib/docker/volumes/nginx-j01/_data/index.html [root@docker ~]# curl 192.168.22.135:9000 888

4、實(shí)現(xiàn)docker共享卷掛載

從鏡像nginx中拉取一個(gè)名為nginx-test04的容器,自動(dòng)映射一個(gè)宿主機(jī)端口,將之前創(chuàng)建的共享卷掛載到該容器中,因?yàn)樵摴蚕砭碇皰燧d到了nginx-test03又掛載到了nginx-test04中,所以正在成為了共享卷。

[root@docker ~]# docker run -d -P --volumes-from nginx-test03 --name nginx-test04 nginx 862e2f3867cb33a91dcc3b3809bde7a0de951a11fea8fea77163db7c39a227b2

--volumes-from # 指定共享卷所在的容器

5、查看使用的端口并做訪問(wèn)測(cè)試

[root@docker ~]# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address ? ? ? ? ? Foreign Address ? ? ? ? State ? ? ? PID/Program name tcp ? ? ? ?0 ? ? ?0 127.0.0.1:25 ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? LISTEN ? ? ?1104/master tcp ? ? ? ?0 ? ? ?0 0.0.0.0:22 ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? LISTEN ? ? ?1015/sshd tcp6 ? ? ? 0 ? ? ?0 ::1:25 ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1104/master tcp6 ? ? ? 0 ? ? ?0 :::32768 ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?88573/docker-proxy tcp6 ? ? ? 0 ? ? ?0 :::9000 ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?55370/docker-proxy tcp6 ? ? ? 0 ? ? ?0 :::8080 ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?53960/docker-proxy tcp6 ? ? ? 0 ? ? ?0 :::80 ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?52152/docker-proxy tcp6 ? ? ? 0 ? ? ?0 :::22 ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1015/sshd [root@docker ~]# curl 192.168.22.135:32768 888

鏈接:https://www.dianjilingqu.com/533912.html

Docker數(shù)據(jù)卷的創(chuàng)建與應(yīng)用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
遵义县| 乌鲁木齐县| 建始县| 克山县| 阜南县| 巴彦县| 南投市| 工布江达县| 镇远县| 郯城县| 乌兰浩特市| 丰台区| 雅江县| 绥德县| 无棣县| 临漳县| 康定县| 和政县| 滁州市| 卓尼县| 出国| 濮阳市| 城市| 徐水县| 罗甸县| 兴城市| 桂平市| 白沙| 池州市| 龙海市| 会泽县| 漳浦县| 闸北区| 光山县| 毕节市| 百色市| 镇康县| 十堰市| 桃江县| 大新县| 峨眉山市|