docker容器間進(jìn)行數(shù)據(jù)共享的三種實(shí)現(xiàn)方式
我們本節(jié)為大家介紹的容器數(shù)據(jù)共享,是指在同一臺(tái)服務(wù)器宿主機(jī)的容器之間的數(shù)據(jù)共享。如果涉及到跨服務(wù)器容器的數(shù)據(jù)共享,實(shí)際上是涉及到服務(wù)器之間的數(shù)據(jù)同步或分布式文件系統(tǒng),基本不屬于docker技術(shù)范疇。
一、Bind Mounts方式共享數(shù)據(jù)
使用下面的命令行啟動(dòng)一個(gè)容器,名稱是nginx80,宿主機(jī)映射端口是80
docker run -d --name nginx80 \ -p 80:80 \ -v /root/nginx/html:/usr/share/nginx/html/ \ nginx:latest
然后修改上面的腳本,使用--name nginx81
與 -p 81:80
啟動(dòng)一個(gè)容器,使用--name nginx82
與 -p 82:80
再啟動(dòng)一個(gè)容器。
這樣我們就啟動(dòng)了三個(gè)nginx容器,映射的宿主機(jī)磁盤目錄都是/root/nginx/html
。后續(xù)我們只要把需要部署的html文件放入宿主機(jī)的/root/nginx/html
目錄即可影響三個(gè)nginx web服務(wù)。
二、Volumes方式數(shù)據(jù)共享
Volumes方式數(shù)據(jù)共享與Bind Mounts方式共享數(shù)據(jù)幾乎是一樣的,只是-v
的宿主機(jī)文件數(shù)據(jù)卷指定為Volume:nginx-html。
docker run -d --name nginx80 \ -p 80:80 \ -v nginx-html:/usr/share/nginx/html/ \ nginx:latest
然后修改上面的腳本,使用--name nginx81
與 -p 81:80
啟動(dòng)一個(gè)容器,使用--name nginx82
與 -p 82:80
再啟動(dòng)一個(gè)容器??梢詤⒖枷旅娴倪@張圖,理解Volumes方式數(shù)據(jù)共享。
三、Volume container(數(shù)據(jù)卷容器)方式
3.1.創(chuàng)建數(shù)據(jù)卷容器
除了上面提到的2種方式,我們還可以創(chuàng)建一個(gè)數(shù)據(jù)卷容器。數(shù)據(jù)卷容器的核心在于數(shù)據(jù)卷,只不過(guò)以容器的方式存在。特別適用于當(dāng)一組容器有多個(gè)相同的數(shù)據(jù)卷映射關(guān)系時(shí)(即多個(gè)-v
) ,我們把多個(gè)-v
數(shù)據(jù)卷映射關(guān)系組成一個(gè)數(shù)據(jù)卷組(即數(shù)據(jù)卷容器)。
docker create \ -v nginx-html:/usr/share/nginx/html/ \ -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ --name vc_nginx_html busybox
- 只是create容器,并未運(yùn)行容器,因?yàn)槲覀儾⒉恍枰萜鬟\(yùn)行,我們需要的只是數(shù)據(jù)卷(組)
- 命名方式最好和普通的容器區(qū)分開(kāi),如“vc_”前綴
- 之所以使用busybox鏡像,是因?yàn)樗亲钚?,最不占空間的鏡像。
容器創(chuàng)建完成之后,可以使用docker ps -a
查看容器,也可以通過(guò)docker inspect vc_nginx_html
查看該容器的多個(gè)數(shù)據(jù)卷。
3.2.使用數(shù)據(jù)卷容器
docker run -d --name nginx81 \ -p 81:80 \ --volumes-from vc_nginx_html nginx:latest
使用上面的腳本創(chuàng)建一個(gè)容器,讓它的數(shù)據(jù)卷映射(掛載)關(guān)系與vc_nginx_html相同,即:
--volumes-from vc_nginx_htm 等同于 -v nginx-html:/usr/share/nginx/html/ \ -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
結(jié)合下圖理解一下數(shù)據(jù)卷容器,數(shù)據(jù)卷容器一般只提供數(shù)據(jù)卷的定義,不真實(shí)運(yùn)行。
到此這篇關(guān)于docker容器間進(jìn)行數(shù)據(jù)共享的三種實(shí)現(xiàn)方式的文章就介紹到這了,更多相關(guān)docker 容器數(shù)據(jù)共享 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Jenkins簡(jiǎn)介與Docker部署Jenkins的方法
今天小編就為大家分享一篇關(guān)于Jenkins簡(jiǎn)介與Docker部署Jenkins的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10docker部署安裝jenkins的實(shí)現(xiàn)步驟
本文主要介紹了docker部署安裝jenkins的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12詳解如何使用Docker快速部署ELK環(huán)境(最新5.5.1版本)
這篇文章主要介紹了詳解如何使用Docker快速部署ELK環(huán)境(最新5.5.1版本),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08win10家庭版安裝docker遇到的問(wèn)題小結(jié)
這篇文章主要介紹了win10家庭版安裝docker遇到的問(wèn)題小結(jié),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: 
這篇文章主要介紹了Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: Get https://registry-1.docker.io/v2/的問(wèn)題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07docker-compose搭建prometheus+grafana+釘釘告警
本文主要介紹了docker-compose搭建prometheus+grafana+釘釘告警,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07