最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker容器數(shù)據(jù)卷介紹及操作示例

 更新時(shí)間:2022年04月13日 18:40:34   作者:Tiamon_  
這篇文章主要為大家介紹了Docker容器數(shù)據(jù)卷介紹及操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

容器數(shù)據(jù)卷介紹

什么是數(shù)據(jù)卷

將運(yùn)用與運(yùn)行的環(huán)境打包形成容器運(yùn)行,運(yùn)行可以伴隨著容器,但是我們對(duì)數(shù)據(jù)的要求是持久化的。

容器之間希望有可能共享數(shù)據(jù)。

Docker 容器產(chǎn)生的數(shù)據(jù),如果不通過(guò) docker commit 生成新的鏡像,使得數(shù)據(jù)做為鏡像的一部分保存下載,那么當(dāng)容器刪除后,數(shù)據(jù)自然也就沒(méi)有了。為了能保存數(shù)據(jù)在 docker 中我們使用卷。

數(shù)據(jù)卷能做什么?

容器的持久化

容器間繼承和共享數(shù)據(jù)

卷就是目錄或文件,存在于一個(gè)或多個(gè)容器中,由 docker 掛載到容器,但不屬于聯(lián)合文件系統(tǒng),因此能夠繞過(guò) Union File System 提供一些用于持續(xù)存儲(chǔ)或共享數(shù)據(jù)的特性。

卷的設(shè)計(jì)目的就是數(shù)據(jù)的持久化,完全獨(dú)立于容器的生存周期因此 Docker 不會(huì)再容器刪除時(shí)刪除其掛載的數(shù)據(jù)卷。

特點(diǎn)

  • 數(shù)據(jù)卷可在容器之間共享或重用數(shù)據(jù)
  • 卷中的更改可以直接生效
  • 數(shù)據(jù)卷中的更改不會(huì)包含在鏡像的更新中
  • 數(shù)據(jù)卷的生命周期一直持續(xù)到?jīng)]有容器使用它為止

Docker 容器數(shù)據(jù)卷操作

直接命令添加數(shù)據(jù)卷

命令格式

docker run -it -v 宿主機(jī)絕對(duì)路徑:容器內(nèi)絕對(duì)路徑 鏡像名

案例演示

#1、容器與宿主機(jī)主機(jī)間文件共享
	[root@docker ~]# docker run -itd -v /volume:/containervolume centos:latest
c0eb80a4425eac21b933ce1a81132eb08eeaaf30ac5adb077d44c11dd7260268
#2、主機(jī)和容器的 / 下均自動(dòng)創(chuàng)建共享的目錄
	[root@docker ~]# ll -d /volume
drwxr-xr-x. 2 root root 6 11月  1 23:25 /volume
	[root@docker ~]# docker exec -it $(docker ps -q) ls -ld /containervolume
drwxr-xr-x. 2 root root 6 Nov  1 15:25 /containervolume
#3、驗(yàn)證,在容器內(nèi)的 containervolume 目錄下創(chuàng)建 test 文件,發(fā)現(xiàn)主機(jī) volume 目錄共享了 test 文件
	[root@docker ~]# docker exec -it $(docker ps -q) touch /containervolume/test
	[root@docker ~]# ll /volume
	-rw-r--r--. 1 root root 0 11月  1 23:29 test
#4、退出容器后,主機(jī)對(duì) volume 文件進(jìn)行修改,再次啟動(dòng)容器,發(fā)現(xiàn)容器內(nèi)的 dataVolumeContainer 目錄下也同步了 nidaye 文件

 dockerfile 添加數(shù)據(jù)卷

dockerfile 說(shuō)明

可在 Dockerfile 中使用 VOLUME 指令來(lái)給鏡像添加一個(gè)或多個(gè)數(shù)據(jù)卷

VOLUME["/dataVolumeContainer","/dataVolumeContainer2","/data/VolumeContainer3"]

出于可移植和分享的考慮,用-v 主機(jī)目錄:容器目錄 這種方法不能夠直接在 Dockerfile 中實(shí)現(xiàn)。由于宿主機(jī)目錄是依賴于特定宿主機(jī)的,并不能夠保證在所有的宿主機(jī)上都存在這樣的特定目錄。

案例演示

#1、在 / 目錄下創(chuàng)建 mydocker 文件夾并進(jìn)入
	[root@docker ~]# mkdir /mydocker
#2、dockerfile 構(gòu)建
	[root@docker ~]# vim /mydocker/dockerfile
	FROM centos:latest
	#創(chuàng)建的鏡像來(lái)自于父鏡像 centos
	VOLUME ["/volume"] 
	#在 / 下創(chuàng)建數(shù)據(jù)卷
	CMD echo "create---volume----successl"
	#打印數(shù)據(jù)卷創(chuàng)建成功
	CMD /bin/bash
#3、build 生成新的鏡像 volume/centos
	[root@docker ~]# docker build -f /mydocker/dockerfile -t volume/centos .
	Sending build context to Docker daemon  519.2MB
	Step 1/4 : FROM centos:latest
	 ---> 0f3e07c0138f
	Step 2/4 : VOLUME ["/volume"]
	 ---> Running in 0059989ef83c
	Removing intermediate container 0059989ef83c
	 ---> 9a7f6ae84e23
	Step 3/4 : CMD echo "create---volume----successl"
	 ---> Running in 9dd2d3fbd75c
	Removing intermediate container 9dd2d3fbd75c
	 ---> 6f8a83b9feca
	Step 4/4 : CMD /bin/bash
	 ---> Running in 18edd4a6af38
	Removing intermediate container 18edd4a6af38
	 ---> 30b4d769d4e8
	Successfully built 30b4d769d4e8
	Successfully tagged volume/centos:latest
	#鏡像創(chuàng)建成功
#4、使用新鏡像啟動(dòng)容器
	[root@docker ~]# docker run -itd volume/centos
	53d070c79a13dd4ecfe3208a3907cd00e4dc3b1a45c2b890d642cb96b7e05217
#5、驗(yàn)證,容器內(nèi)成功創(chuàng)建目錄 volume
	[root@docker ~]# docker exec -it $(docker ps -q) ls -ld /volume
	drwxr-xr-x. 2 root root 6 Nov  1 16:03 /volume
#6、驗(yàn)證,在宿主機(jī)上創(chuàng)建文件 test ,容器 /volume 目錄成功共享數(shù)據(jù)
	[root@docker ~]# touch /var/lib/docker/volumes/53d070c79a13dd4ecfe3208a3907cd00e4dc3b1a45c2b890d642cb96b7e05217/_data/test
	#宿主機(jī)數(shù)據(jù)卷默認(rèn)掛載目錄
	[root@docker ~]# docker exec -it $(docker ps -q) ls -l /volume
	-rw-r--r--. 1 root root 0 Nov  1 16:12 test

 Docker 數(shù)據(jù)卷容器

數(shù)據(jù)卷容器簡(jiǎn)介

命名的容器掛載數(shù)據(jù)卷,其它容器通過(guò)掛載這個(gè)(父容器)實(shí)現(xiàn)數(shù)據(jù)共享,掛載數(shù)據(jù)卷的容器,稱之為數(shù)據(jù)卷容器。

容器之間配置信息的傳遞,數(shù)據(jù)卷的生命周期一直持續(xù)到?jīng)]有容器使用它為止。

案例演示

啟動(dòng)一個(gè) centos_1 容器并掛載數(shù)據(jù)卷

	[root@docker ~]# docker run -itd --name="centos_1" -v /volume:/volumecontainer_1 centos 
	9f73357be614f7c5098b2ef3a83534002992ee2f281b8b984ed7af5c03a7e29b
#宿主機(jī) /volume 下創(chuàng)建文件 test
	[root@docker ~]# touch /volume/test
#驗(yàn)證,容器 centos_1,/volume/container_1/下共享文件 test
	[root@docker ~]# docker exec -it $(docker ps -q) ls -l /volumecontainer_1
	total 0
	-rw-r--r--. 1 root root 0 Nov  2 14:33 test

啟動(dòng)一個(gè) centos_2 容器并繼承容器 centos_1 的文件

	[root@docker ~]# docker run -itd --name="centos_2" --volumes-from centos_1 centos
	baefc86b170c376745761aaea1abc0843521b272213337109510170ff1ccb304
#驗(yàn)證,容器 centos_2 繼承了容器 centos_1 的文件
	[root@docker ~]# docker exec -it $(docker ps -n 1 -q) ls -l /volumecontainer_1
	total 0
	-rw-r--r--. 1 root root 0 Nov  2 14:33 test
#驗(yàn)證,在容器 centos_2 中添加文件,宿主機(jī)和容器 centos_1 都能共享
	[root@docker ~]# docker exec -it $(docker ps -n 1 -q) touch /volumecontainer_1/test_centos_2
#宿主機(jī)成功共享文件 test_container_2
	[root@docker ~]# ls -l /volume/
	總用量 0
	-rw-r--r--. 1 root root 0 11月  2 22:33 test
	-rw-r--r--. 1 root root 0 11月  2 22:42 test_centos_2
#容器 centos_1成功共享文件 test_container_2
	[root@docker ~]# docker exec -it 9f73357be614 ls -l /volumecontainer_1
	total 0
	-rw-r--r--. 1 root root 0 Nov  2 14:33 test
	-rw-r--r--. 1 root root 0 Nov  2 14:42 test_centos_2

以上就是Docker容器數(shù)據(jù)卷介紹及操作示例的詳細(xì)內(nèi)容,更多關(guān)于Docker容器數(shù)據(jù)卷操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker搭建Zookeeper集群的方法步驟

    docker搭建Zookeeper集群的方法步驟

    本文主要介紹了docker搭建Zookeeper集群的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • docker部署安裝jenkins的實(shí)現(xiàn)步驟

    docker部署安裝jenkins的實(shí)現(xiàn)步驟

    本文主要介紹了docker部署安裝jenkins的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 如何解決1130?-?Host?‘172.17.0.1‘?is?not?allowed?to?connect?to?this?MySQL?server的問(wèn)題

    如何解決1130?-?Host?‘172.17.0.1‘?is?not?allowed?to?conne

    這篇文章主要介紹了如何解決1130?-?Host?‘172.17.0.1‘?is?not?allowed?to?connect?to?this?MySQL?server的問(wèn)題,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 在docker中開(kāi)啟sshd操作

    在docker中開(kāi)啟sshd操作

    這篇文章主要介紹了在docker中開(kāi)啟sshd操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • docker官方mysql鏡像自定義配置詳解

    docker官方mysql鏡像自定義配置詳解

    這篇文章主要介紹了docker官方mysql鏡像自定義配置詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • docker-compose快速搭建docker私有倉(cāng)庫(kù)的步驟

    docker-compose快速搭建docker私有倉(cāng)庫(kù)的步驟

    這篇文章主要介紹了docker-compose快速搭建docker私有倉(cāng)庫(kù)的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • docker常用命令及設(shè)置開(kāi)機(jī)自啟方式

    docker常用命令及設(shè)置開(kāi)機(jī)自啟方式

    這篇文章主要介紹了docker常用命令及設(shè)置開(kāi)機(jī)自啟方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 簡(jiǎn)述Docker安裝Tomcat鏡像并部署web項(xiàng)目

    簡(jiǎn)述Docker安裝Tomcat鏡像并部署web項(xiàng)目

    這篇文章主要介紹了簡(jiǎn)述Docker安裝Tomcat鏡像并部署web項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Docker?compose一鍵安裝mirai搭建QQ機(jī)器人最快操作方法

    Docker?compose一鍵安裝mirai搭建QQ機(jī)器人最快操作方法

    這篇文章主要介紹了Docker?compose一鍵安裝mirai,搭建QQ機(jī)器人最快方法,詳細(xì)介紹了mirai基本操作,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Docker容器網(wǎng)絡(luò)端口配置過(guò)程詳解

    Docker容器網(wǎng)絡(luò)端口配置過(guò)程詳解

    這篇文章主要介紹了Docker容器網(wǎng)絡(luò)端口配置過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論

恩平市| 合肥市| 巴南区| 芒康县| 南宫市| 龙口市| 龙口市| 永福县| 贡山| 红原县| 宁都县| 黄梅县| 阿城市| 张家口市| 灵宝市| 淳化县| 清丰县| 当雄县| 盐山县| 古浪县| 连江县| 白沙| 绥宁县| 西华县| 龙陵县| 宝清县| 通化县| 九江县| 南川市| 建水县| 彭州市| 双牌县| 新平| 治多县| 南召县| 长泰县| 通河县| 贵定县| 新邵县| 翼城县| 杂多县|