一、在Docker中管理數(shù)據(jù)
1.1、Docker 保存容器數(shù)據(jù)的方法
-
Docker 卷(
Docker Volumes
):可以將數(shù)據(jù)保存在 Docker 卷中,這樣可以在容器和宿主機(jī)之間共享數(shù)據(jù),并保證容器中的數(shù)據(jù)不會(huì)因?yàn)槿萜鞅粍h除而丟失。Docker 卷可以用來(lái)保存應(yīng)用程序的配置、日志、數(shù)據(jù)庫(kù)等數(shù)據(jù),還可以用于多個(gè)容器之間共享數(shù)據(jù)。 -
Docker 掛載點(diǎn)(
Docker Mounts
):可以將主機(jī)文件系統(tǒng)中的目錄或文件掛載到容器中,通過(guò)掛載點(diǎn)可以將主機(jī)文件系統(tǒng)中的數(shù)據(jù)共享到容器中,并進(jìn)行持久化保存。 -
Docker 數(shù)據(jù)卷容器(
Docker Data Container
):可以創(chuàng)建一個(gè)特殊的容器,專(zhuān)門(mén)用來(lái)存儲(chǔ)數(shù)據(jù)卷。在其他容器中掛載這個(gè)數(shù)據(jù)卷容器,可以實(shí)現(xiàn)數(shù)據(jù)在不同容器之間的共享。 -
Docker 備份和恢復(fù)(
Docker Backup and Restore
):可以使用 Docker 的備份和恢復(fù)功能來(lái)保存容器數(shù)據(jù)。使用 Docker 的命令可以將容器的數(shù)據(jù)備份到一個(gè) tar 包中,然后將這個(gè) tar 包恢復(fù)到另一個(gè)容器中。
以上這些方法都可以用來(lái)保存 Docker 容器中的數(shù)據(jù),并進(jìn)行持久化保存。具體使用哪種方法,需要根據(jù)應(yīng)用場(chǎng)景和需求進(jìn)行選擇。
1.2、Docker 三種不同的掛載方式
-
bind mount
:將主機(jī)的文件或目錄直接掛載到容器中。這種掛載方式可以讓容器訪問(wèn)主機(jī)上的文件系統(tǒng),也可以讓主機(jī)訪問(wèn)容器中的文件系統(tǒng)。bind mount 掛載是針對(duì)文件或目錄進(jìn)行的,支持讀寫(xiě)模式。 -
volumes
:是 Docker 容器中持久化數(shù)據(jù)的一種方法,可以將數(shù)據(jù)保存在 Docker 卷中,并在容器和宿主機(jī)之間共享數(shù)據(jù)。volumes 掛載是針對(duì)卷進(jìn)行的,支持讀寫(xiě)模式。 -
tmpfs mount
:將主機(jī)的 tmpfs 文件系統(tǒng)掛載到容器中。tmpfs 文件系統(tǒng)是一個(gè)基于內(nèi)存的文件系統(tǒng),使用 tmpfs mount 掛載可以在容器中創(chuàng)建一個(gè)臨時(shí)文件系統(tǒng),這個(gè)文件系統(tǒng)的數(shù)據(jù)將保存在內(nèi)存中,不會(huì)寫(xiě)入主機(jī)磁盤(pán)。tmpfs mount 掛載也是針對(duì)目錄進(jìn)行的,支持讀寫(xiě)模式。
總的來(lái)說(shuō),bind mount 掛載是針對(duì)主機(jī)文件系統(tǒng)的,而 volumes 和 tmpfs mount 掛載是針對(duì) Docker 卷和內(nèi)存文件系統(tǒng)的。bind mount 掛載適合用于開(kāi)發(fā)環(huán)境和持續(xù)集成環(huán)境,volumes 和 tmpfs mount 掛載適合用于生產(chǎn)環(huán)境和分布式環(huán)境。
二、卷(Volume)
2.1、卷概述
Docker 卷 (Docker Volumes) 是 Docker 容器中持久化數(shù)據(jù)的一種方法。它允許在容器和宿主機(jī)之間共享數(shù)據(jù),并保證容器中的數(shù)據(jù)不會(huì)因?yàn)槿萜鞅粍h除而丟失。Docker 卷可以用來(lái)保存應(yīng)用程序的配置、日志、數(shù)據(jù)庫(kù)等數(shù)據(jù),還可以用于多個(gè)容器之間共享數(shù)據(jù)。
卷(volume)提供了將容器的特定文件系統(tǒng)路徑連接回主機(jī)的能力,簡(jiǎn)單來(lái)說(shuō)就是將容器的目錄映射到主機(jī)上。如果容器中的目錄已掛載,則該目錄中的更改也會(huì)在主機(jī)上看到。如果我們?cè)谌萜髦貑r(shí)掛載相同的目錄,我們會(huì)看到相同的文件,這就是容器的持久化和同步操作。
- Docker Volume 命令能讓容器從宿主機(jī)中讀取文件,或從容器中持久化數(shù)據(jù)到宿主機(jī)中,讓容器與容器產(chǎn)生的數(shù)據(jù)分離開(kāi)來(lái),一個(gè)容器可以掛載多個(gè)不同的目錄。
- Volume的生命周期是獨(dú)立于容器的生命周期之外的,即使容器刪除了,Volume也會(huì)被保留下來(lái),Docker不會(huì)因?yàn)檫@個(gè)Volume沒(méi)有被容器使用而自動(dòng)回收。
- 在容器中,添加或修改這個(gè)文件夾里的文件也不會(huì)影響到容器的聯(lián)合文件系統(tǒng)。
數(shù)據(jù)卷映射
在容器運(yùn)行時(shí),容器內(nèi)有一個(gè)數(shù)據(jù)存儲(chǔ)空間,但是當(dāng)容器關(guān)閉后,這個(gè)存儲(chǔ)空間內(nèi)容將被丟失。因此,數(shù)據(jù)無(wú)法長(zhǎng)期保存!那么,數(shù)據(jù)如何長(zhǎng)期保存需要什么策略?答案是保存在宿主機(jī),并且不妨礙容器的讀寫(xiě)。
實(shí)驗(yàn)驗(yàn)證不使用掛載方式數(shù)據(jù)丟失情況:
# 啟動(dòng)容器并新建文件
$ docker run -it nginx:latest
[root@31f3303bdc66 /]
$ cd /home/
$ vi test.txt # 輸入文字 “nihao”
# 退出容器查找容器數(shù)據(jù)保存目錄,并驗(yàn)證文件是否存在
$ docker inspect 31f3303bdc66 | grep UpperDir
"UpperDir": "/var/lib/docker/overlay2/5c91c9d866f4071c18e4268929fd2e50ed37f554694f6e4932c30059c0f46330/diff",
$ ll /var/lib/docker/overlay2/5c91c9d866f4071c18e4268929fd2e50ed37f554694f6e4932c30059c0f46330/diff/home/
total 4
-rw-r--r-- 1 root root 7 Jun 6 10:26 test.txt
# 刪除容器再次查看文件是否存在
$ docker rm 31f3303bdc66
31f3303bdc66
$ ll /var/lib/docker/overlay2/5c91c9d866f4071c18e4268929fd2e50ed37f554694f6e4932c30059c0f46330/diff/home/
ls: cannot access /var/lib/docker/overlay2/5c91c9d866f4071c18e4268929fd2e50ed37f554694f6e4932c30059c0f46330/diff/home/: No such file or directory
通過(guò)在容器建立虛擬文件路徑,此路徑指向的物理地址是宿主機(jī)的文件系統(tǒng),此時(shí),當(dāng)容器突然關(guān)閉,而所在宿主機(jī)上的文件系統(tǒng)依然無(wú)恙。這樣就起到數(shù)據(jù)永久性保護(hù)的目的。
容器數(shù)據(jù)卷特征
數(shù)據(jù)卷是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄,它將主機(jī)操作系統(tǒng)目錄直接映射進(jìn)容器 (也就是數(shù)據(jù)卷可以把數(shù)據(jù)可以直接映射到容器中)
數(shù)據(jù)卷的特性:
- 數(shù)據(jù)卷 可以在容器之間共享和重用
- 對(duì)數(shù)據(jù)卷的修改會(huì)立馬生效
- 對(duì)數(shù)據(jù)卷的更新,不會(huì)影響鏡像
- 數(shù)據(jù)卷 默認(rèn)會(huì)一直存在,即使容器被刪除
2.2、卷的優(yōu)點(diǎn)
相比普通的數(shù)據(jù)掛載方式,Docker Volume 具有以下優(yōu)點(diǎn):
- 支持?jǐn)?shù)據(jù)卷的備份和恢復(fù):Docker Volume 支持?jǐn)?shù)據(jù)卷的備份和恢復(fù),可以將數(shù)據(jù)卷中的數(shù)據(jù)備份到本地或遠(yuǎn)程存儲(chǔ)中,以便進(jìn)行災(zāi)備恢復(fù)或數(shù)據(jù)遷移。
- 卷可以直接使用Docker CLI 命令或 Docker API 管理。
- 卷可以在 Linux 和 Windows 容器上運(yùn)行。
- 卷可以在多個(gè)容器之間更安全的共享。
- 支持多種類(lèi)型的數(shù)據(jù)卷:Docker Volume 支持多種數(shù)據(jù)卷類(lèi)型,如本地存儲(chǔ)卷、遠(yuǎn)程存儲(chǔ)卷、云存儲(chǔ)卷等。這使得數(shù)據(jù)卷的管理更加靈活,可以根據(jù)具體需求選擇不同類(lèi)型的數(shù)據(jù)卷。
- 新卷的內(nèi)容可以由容器預(yù)先填充。
- Docker Desktop 上的卷比 來(lái)自Mac 和 Windows 主機(jī)的綁定掛載具有更高的性能。
- 數(shù)據(jù)卷的生命周期獨(dú)立于容器:Docker Volume 可以獨(dú)立于容器存在,即使容器被刪除,Volume 中的數(shù)據(jù)仍然存在。這使得數(shù)據(jù)卷的管理更加靈活,可以在容器之間共享數(shù)據(jù)。
- 支持?jǐn)?shù)據(jù)卷的加密:Docker Volume 支持?jǐn)?shù)據(jù)卷的加密,可以對(duì)敏感數(shù)據(jù)進(jìn)行保護(hù),確保數(shù)據(jù)的安全性。
- 支持?jǐn)?shù)據(jù)卷的擴(kuò)容和縮容:Docker Volume 支持?jǐn)?shù)據(jù)卷的擴(kuò)容和縮容,可以根據(jù)實(shí)際需求動(dòng)態(tài)調(diào)整數(shù)據(jù)卷的大小。
2.3、卷的使用
2.3.1、卷的創(chuàng)建
默認(rèn)創(chuàng)建本地?cái)?shù)據(jù)卷
docker volume create test_volume
還可以創(chuàng)建其他類(lèi)型的數(shù)據(jù)卷,如下:
遠(yuǎn)程數(shù)據(jù)卷:
docker volume create --driver=remote --opt=remote-host=my-remote-host --opt=remote-path=/my-volume my-remote-volume
該命令將創(chuàng)建一個(gè)名為 my-remote-volume 的遠(yuǎn)程存儲(chǔ)數(shù)據(jù)卷。該數(shù)據(jù)卷將存儲(chǔ)在遠(yuǎn)程主機(jī)上的 /my-volume 目錄中。需要通過(guò) --opt 參數(shù)指定遠(yuǎn)程主機(jī)的地址和遠(yuǎn)程路徑。需要安裝相應(yīng)的遠(yuǎn)程存儲(chǔ)驅(qū)動(dòng)程序才能夠使用該命令。
安裝docker volume remote驅(qū)動(dòng)
在 Docker 主機(jī)上安裝并啟用名為 “remote” 的 Docker Volume 驅(qū)動(dòng)程序??梢酝ㄟ^(guò)以下步驟來(lái)安裝 “remote” 驅(qū)動(dòng)程序:
1、打開(kāi) Docker 主機(jī)終端,并使用 root 或其他有管理員權(quán)限的賬戶(hù)登錄。
2、運(yùn)行以下命令來(lái)安裝 “remote” 驅(qū)動(dòng)程序:
$ docker plugin install ssh://<remote-host>/path/to/remote-volume-plugin.tar.gz
這里需要將 替換為遠(yuǎn)程主機(jī)的 IP 地址或域名,并將 /path/to/remote-volume-plugin.tar.gz
替換為遠(yuǎn)程主機(jī)上存放 “remote” 驅(qū)動(dòng)程序的路徑。如果 “remote” 驅(qū)動(dòng)程序是通過(guò) Docker Registry 分發(fā)的,則可以使用以下命令來(lái)安裝:
$ docker plugin install <registry>/<repo>/<image>:<tag>
這里需要將 <registry>/<repo>/<image>:<tag>
替換為正確的鏡像名稱(chēng)和標(biāo)簽。
3、安裝完成后,運(yùn)行 docker plugin ls
命令來(lái)檢查 “remote” 驅(qū)動(dòng)程序是否已成功安裝。
4、運(yùn)行 docker volume create --driver=remote
命令來(lái)創(chuàng)建遠(yuǎn)程存儲(chǔ)數(shù)據(jù)卷。
云數(shù)據(jù)卷:
docker volume create --driver=cloud --opt=cloud-provider=aws --opt=cloud-region=us-west-2 my-aws-volume
該命令將創(chuàng)建一個(gè)名為 my-aws-volume 的云存儲(chǔ)數(shù)據(jù)卷。該數(shù)據(jù)卷將存儲(chǔ)在 AWS 的 us-west-2 區(qū)域中。需要通過(guò) --opt 參數(shù)指定云存儲(chǔ)服務(wù)的提供商和區(qū)域。需要安裝相應(yīng)的云存儲(chǔ)驅(qū)動(dòng)程序才能夠使用該命令。
創(chuàng)建標(biāo)簽
$ docker volume create test_volume_01 --label=app=test --label=use=test_function
元信息如下:
$ docker volume inspect test_volume_01
[
{
"CreatedAt": "2023-06-02T17:26:13+08:00",
"Driver": "local",
"Labels": {
"app": "test",
"use": "test_function"
},
"Mountpoint": "/var/lib/docker/volumes/test_volume_01/_data",
"Name": "test_volume_01",
"Options": {},
"Scope": "local"
}
]
2.3.2、卷的查看
docker volume ls
查看卷清單
$ docker volume ls
DRIVER VOLUME NAME
local 0ff4f6d947508d887de39e67f5e9ff24be875473756106aed4c7312ce9bffc8e
...
local test_volume
local test_volume_01
docker volume ls -q
僅展示volume name
$ docker volume ls -q
0ff4f6d947508d887de39e67f5e9ff24be875473756106aed4c7312ce9bffc8e
...
test_volume
test_volume_01
docker volume ls -f
匹配查詢(xún):
docker volume ls -f name=test*
DRIVER VOLUME NAME
local test_volume
local test_volume_01
docker volume inspect
查看卷元信息
$ docker volume inspect test_volume
[
{
"CreatedAt": "2023-06-02T16:59:00+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/test_volume/_data",
"Name": "test_volume",
"Options": {},
"Scope": "local"
}
]
docker volume inspect -f
同樣支持go語(yǔ)言模板:
$ docker volume inspect -f {{."Mountpoint"}} test_volume
/var/lib/docker/volumes/test_volume/_data
2.3.3、卷的使用
-v
使用-v 啟動(dòng)容器,并查看容器信息中Mounts
部分內(nèi)容
docker run -d --name=con-test -v test_volume:/home nginx:latest /bin/bash
docker inspect con-test | grep -A 10 Mounts
"Mounts": [
{
"Type": "volume",
"Name": "test_volume",
"Source": "/var/lib/docker/volumes/test_volume/_data",
"Destination": "/home",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
],
--mount
使用–mount 啟動(dòng)容器,并查看容器信息中Mounts
部分內(nèi)容
docker run -d --name=con-test-01 --mount source=test_volume_01,target=/home nginx:latest /bin/bash
docker inspect con-test-01 | grep -A 10 Mounts
"HostConfig": {
...
"Mounts": [
{
"Type": "volume",
"Source": "test_volume_01",
"Target": "/home"
}
],
...
}
"Mounts": [
{
"Type": "volume",
"Name": "test_volume_01",
"Source": "/var/lib/docker/volumes/test_volume_01/_data",
"Destination": "/home",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
],
-v
和 --mount
區(qū)別
-v 只能創(chuàng)建bind mount
–mount默認(rèn)情況下用來(lái)掛載volume,但也可以用來(lái)創(chuàng)建bind mount和tmpfs
創(chuàng)建bind mount和掛載volume的比較
對(duì)比項(xiàng) | bind mount | volume |
---|---|---|
Source位置 | 用戶(hù)指定 | /var/lib/docker/volumes/ |
Source為空 | 覆蓋dest為空 | 保留dest內(nèi)容 |
Source非空 | 覆蓋dest內(nèi)容 | 覆蓋dest內(nèi)容 |
Source種類(lèi) | 文件或目錄 | 只能是目錄 |
可移植性 | 一般(自行維護(hù)) | 強(qiáng)(docker托管) |
宿主直接訪問(wèn) | 容易(僅需chown) | 受限(需登陸root用戶(hù))* |
詳細(xì)區(qū)別請(qǐng)參考:https://blog.csdn.net/inrgihc/article/details/109001886
2.3.4、卷的刪除
docker volume prune
刪除未使用的卷
$ docker volume prune
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
e6555d73c125e424f8fa71f8434933a9bd0c7668553fee5ae93f031db000c0c7
Total reclaimed space: 56.32kB
docker volume rm
直接刪除正在使用的卷會(huì)報(bào)錯(cuò):
$ docker volume rm test_volume_02
Error response from daemon: remove test_volume_02: volume is in use - [1b4f1ef946411b16fa6ea46c29099839ebfd6fd8d5210ea68be90975792bc635]
需要?jiǎng)h除對(duì)應(yīng)容器,然后再刪除卷
$ docker stop 1b4f1ef946411b16fa6ea46c2
1b4f1ef946411b16fa6ea46c2
$ docker rm 1b4f1ef946411b16fa6ea46c2
1b4f1ef946411b16fa6ea46c2
$ docker volume rm test_volume_02
test_volume_02
2.4、匿名掛載和具名掛載
在 Docker 中,可以使用匿名掛載和具名掛載兩種方式將主機(jī)文件系統(tǒng)或 Docker Volume 掛載到容器中。
2.4.1、匿名掛載
匿名掛載是指在創(chuàng)建容器時(shí),不指定掛載卷的名稱(chēng),直接將主機(jī)文件系統(tǒng)或 Docker Volume 掛載到容器中。匿名掛載的語(yǔ)法格式如下:
docker run -v <host-path>:<container-path> image-name
或
docker run --mount type=<type>,source=<source>,destination=<destination> image-name
這種方式會(huì)在容器內(nèi)創(chuàng)建臨時(shí)掛載點(diǎn),其名稱(chēng)是由 Docker 自動(dòng)生成的。一旦容器被刪除,掛載點(diǎn)也會(huì)隨之被刪除。
例如,以下命令將主機(jī)上的 /data 目錄匿名掛載到容器中的 /mydata 目錄:
docker run -v /data:/mydata nginx
或
docker run --mount type=bind,source=/data,target=/mydata nginx
2.4.2、具名掛載
具名掛載是指在創(chuàng)建容器時(shí),為掛載卷指定一個(gè)名稱(chēng)。具名掛載的語(yǔ)法格式如下:
docker run -v <volume-name>:<container-path> image-name
或
docker run --mount type=<type>,source=<volume-name>,destination=<destination> image-name
該方式將主機(jī)文件系統(tǒng)或 Docker Volume 掛載到容器中,并在容器內(nèi)創(chuàng)建一個(gè)指定名稱(chēng)的掛載點(diǎn)。一旦容器被刪除,掛載點(diǎn)和數(shù)據(jù)不會(huì)被刪除,可以在其他容器中繼續(xù)使用。
例如,以下命令將名為 my-volume 的 Docker Volume 掛載到容器中的 /mydata 目錄:
docker run -v my-volume:/mydata nginx
或
docker run --mount type=volume,source=my-volume,target=/mydata nginx
綜上所述,匿名掛載和具名掛載是將主機(jī)文件系統(tǒng)或 Docker Volume 掛載到容器中的兩種方式。匿名掛載是一種快捷簡(jiǎn)單的方式,但不方便數(shù)據(jù)的管理和共享;具名掛載可以方便地對(duì)數(shù)據(jù)進(jìn)行管理和共享,但需要手動(dòng)創(chuàng)建和管理 Docker Volume。
2.5、卷的備份和還原
在 Docker 中,可以使用 docker volume 命令對(duì)數(shù)據(jù)卷進(jìn)行備份和還原,以便在需要的時(shí)候恢復(fù)數(shù)據(jù)卷中的數(shù)據(jù)
2.5.1、備份數(shù)據(jù)卷
使用 docker run 命令創(chuàng)建一個(gè)帶有 --rm 參數(shù)的容器,將要備份的數(shù)據(jù)卷掛載到容器中,并使用 tar 命令將數(shù)據(jù)卷中的數(shù)據(jù)打包成一個(gè) tar 文件(容器掛載目錄下)例如,以下命令將名為 my-volume 的數(shù)據(jù)卷備份到 /backup 目錄下:
docker run --rm -v my-volume:/data -v /backup:/backup busybox tar czvf /backup/my-volume.tar.gz /data
該命令將創(chuàng)建一個(gè)臨時(shí)容器,在容器中將 my-volume 數(shù)據(jù)卷掛載到 /data 目錄,并將數(shù)據(jù)卷中的數(shù)據(jù)打包成一個(gè) tar 文件,保存到主機(jī)上的 /backup 目錄下。完成備份后,臨時(shí)容器會(huì)被刪除。
2.5.2、還原數(shù)據(jù)卷
如果需要恢復(fù)數(shù)據(jù)卷中的數(shù)據(jù),可以使用 docker run 命令創(chuàng)建一個(gè)帶有 --rm 參數(shù)的容器,將備份文件掛載到容器中,并使用 tar 命令解壓備份文件到數(shù)據(jù)卷中。例如,以下命令從 /backup 目錄中的 my-volume.tar.gz 文件還原 my-volume 數(shù)據(jù)卷:
docker run --rm -v my-volume:/data -v /backup:/backup busybox tar xzvf /backup/my-volume.tar.gz -C /data
該命令將創(chuàng)建一個(gè)臨時(shí)容器,在容器中將備份文件 /backup/my-volume.tar.gz 掛載到 /backup 目錄,并將備份文件中的數(shù)據(jù)解壓到 my-volume 數(shù)據(jù)卷中。完成數(shù)據(jù)還原后,臨時(shí)容器會(huì)被刪除。
2.6、容器間卷的共享
使用 docker run --volumes-from
命令來(lái)在創(chuàng)建容器時(shí),將一個(gè)或多個(gè)數(shù)據(jù)卷從已有的容器中掛載到新容器中,實(shí)現(xiàn)容器之間數(shù)據(jù)的共享和傳遞。以下是 docker run --volumes-from 命令的使用示例:
首先,假設(shè)已經(jīng)有一個(gè)名為 my-container 的容器,該容器使用了一個(gè)名為 my-volume 的 Docker Volume,存儲(chǔ)了一些數(shù)據(jù)。現(xiàn)在需要?jiǎng)?chuàng)建一個(gè)新的容器,使用 my-volume 數(shù)據(jù)卷中的數(shù)據(jù),可以使用以下命令:
docker run --volumes-from my-container --name my-new-container image-name
該命令將創(chuàng)建一個(gè)名為 my-new-container 的新容器,并將 my-container 容器中使用的所有數(shù)據(jù)卷都掛載到 my-new-container 中。這樣,在 my-new-container 中就可以使用 my-volume 數(shù)據(jù)卷中的數(shù)據(jù),無(wú)需重新創(chuàng)建和初始化數(shù)據(jù)卷。
除了使用容器名稱(chēng)進(jìn)行掛載,docker run --volumes-from 命令還支持使用容器 ID、容器名稱(chēng)前綴等方式進(jìn)行掛載。例如,以下命令將使用 ID 為 123456 的容器中的所有數(shù)據(jù)卷掛載到新容器中:
docker run --volumes-from 123456 --name my-new-container image-name
需要注意的是,使用 docker run --volumes-from 命令掛載數(shù)據(jù)卷時(shí),應(yīng)該確保被掛載的容器和新建的容器都在同一個(gè) Docker 主機(jī)上,否則將無(wú)法實(shí)現(xiàn)數(shù)據(jù)的共享和傳遞。
通過(guò)使用 docker run --volumes-from 命令,可以方便地將一個(gè)或多個(gè)數(shù)據(jù)卷從已有的容器中掛載到新容器中,實(shí)現(xiàn)容器之間數(shù)據(jù)的共享和傳遞。這個(gè)命令可以避免重復(fù)創(chuàng)建數(shù)據(jù)卷,提高容器的可復(fù)用性和可擴(kuò)展性。
參考文檔
1、https://blog.csdn.net/inrgihc/article/details/109001886
2、https://www.cnblogs.com/wwchihiro/p/9316504.html
3、https://blog.csdn.net/weixin_46618592/article/details/126591142
4、https://blog.csdn.net/qq_35745940/article/details/119336510
5、https://blog.frognew.com/2021/07/relearning-container-23.html
6、https://blog.csdn.net/gongdiwudu/article/details/128756465文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-476053.html
7、https://docs.docker.com/engine/reference/commandline/volume_create/文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-476053.html
到了這里,關(guān)于docker卷--docker volumes 使用學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!