国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

docker卷--docker volumes 使用學(xué)習(xí)

這篇具有很好參考價(jià)值的文章主要介紹了docker卷--docker volumes 使用學(xué)習(xí)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、在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)境。

docker卷--docker volumes 使用學(xué)習(xí)

二、卷(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ě)。

docker卷--docker volumes 使用學(xué)習(xí)
實(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ù)的目的。

docker卷--docker volumes 使用學(xué)習(xí)

容器數(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

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)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【DevOps系列】Docker數(shù)據(jù)卷(volume)詳解

    【DevOps系列】Docker數(shù)據(jù)卷(volume)詳解

    Docker的鏡像是由多個(gè)只讀的文件系統(tǒng)疊加在一起形成。啟動(dòng)一個(gè)容器的時(shí)候,docker會(huì)加載只讀層并在只讀層的上面(棧頂)增加一個(gè)讀寫(xiě)層。如果需要修改只讀層的文件,那么這個(gè)文件層需要復(fù)制到讀寫(xiě)層。該文件的只讀版本還在,只是被上面寫(xiě)層的文件副本隱藏。當(dāng)刪除

    2024年02月07日
    瀏覽(25)
  • 解析Docker與docker-compose中volume參數(shù)的使用

    解析Docker與docker-compose中volume參數(shù)的使用

    目錄 數(shù)據(jù)卷Volume的概念 數(shù)據(jù)掛載的實(shí)現(xiàn)方式 宿主機(jī)路徑掛載在docker/docker-compose中的使用 卷標(biāo)映射掛載在docker/docker-compose中的使用 A.匿名掛載 B.具名掛載 參考文獻(xiàn): 在docker內(nèi)有個(gè)“數(shù)據(jù)卷持久化”的概念,也就是我們常說(shuō)的“數(shù)據(jù)掛載”。它的作用是,將宿主機(jī)上的數(shù)據(jù)與

    2024年02月01日
    瀏覽(23)
  • docker 數(shù)據(jù)掛載方式bind和volume的區(qū)別

    在 Docker 中, bind 和 volume 都是用來(lái)將主機(jī)文件系統(tǒng)中的目錄或文件映射到容器內(nèi)部的對(duì)應(yīng)目錄或文件上的方式,但它們之間有幾個(gè)重要區(qū)別。 生命周期: bind 掛載的卷只存在于容器運(yùn)行時(shí),一旦容器停止并刪除,該掛載就會(huì)被刪除。而 volume 的生命周期可以獨(dú)立于容器,即使

    2024年02月06日
    瀏覽(18)
  • windows下docker compose方式掛載數(shù)據(jù)卷volume遇到的問(wèn)題

    例子一,windows 下docker desk top部署TDengine td-compose.yml 運(yùn)行docker-compose 問(wèn)題1: 配置文件映射卷,但沒(méi)有自己生成配置文件反而報(bào)錯(cuò)。 解決方案:bind mount直接掛載目錄的方式必須將配置文件先復(fù)制下來(lái)宿主機(jī),因?yàn)樗前此拗鳈C(jī)文件同步。 問(wèn)題2: 部署后出現(xiàn)UDF一直提示重啟

    2024年02月10日
    瀏覽(18)
  • 【Docker】Docker學(xué)習(xí)⑤ - Docker數(shù)據(jù)管理

    參考:【Docker】Dokcer學(xué)習(xí)① - 簡(jiǎn)介 參考:【Docker】Docker學(xué)習(xí)② - Docker安裝及基礎(chǔ)命令介紹 參考:【Docker】Docker學(xué)習(xí)③ - Docker鏡像管理 參考:【Docker】Docker學(xué)習(xí)④ - Docker鏡像與制作 如果運(yùn)行中的容器修改如果生成了新的數(shù)據(jù)或者修改了現(xiàn)有的一個(gè)已經(jīng)存在的文件內(nèi)容,那么新

    2024年01月23日
    瀏覽(27)
  • Docker(五)進(jìn)階:Docker卷(volumes)

    Docker(五)進(jìn)階:Docker卷(volumes)

    學(xué)習(xí)本文需要一些了解Docker的概念以及一些名詞。 個(gè)人網(wǎng)站:https://linzyblog.netlify.app/ 默認(rèn)情況下,在容器內(nèi)創(chuàng)建的所有文件都存儲(chǔ)在可寫(xiě)容器層上。這意味著: 當(dāng)該容器被刪除時(shí),數(shù)據(jù)也會(huì)被同樣刪除,如果有另一個(gè)進(jìn)程需要數(shù)據(jù),就很難從容器中取出數(shù)據(jù)。 容器的可寫(xiě)層

    2024年02月11日
    瀏覽(22)
  • 模型存儲(chǔ):使用Docker和DockerCompose管理機(jī)器學(xué)習(xí)模型

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 在現(xiàn)代數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用中,機(jī)器學(xué)習(xí)模型越來(lái)越受到重視,而管理這些模型也變得十分重要。傳統(tǒng)的方式包括將模型部署到不同服務(wù)器上,但這樣做會(huì)導(dǎo)致資源浪費(fèi)、高昂的維護(hù)成本以及硬件配置上的限制。Docker 和 Docker Compose 是構(gòu)建容器化應(yīng)

    2024年02月07日
    瀏覽(15)
  • Docker Volume - 目錄掛載以及文件共享

    Docker中的數(shù)據(jù)可以存儲(chǔ)在類(lèi)似于虛擬機(jī)磁盤(pán)的介質(zhì)中,在Docker中稱(chēng)為數(shù)據(jù)卷(Data Volume)。數(shù)據(jù)卷可以用來(lái)存儲(chǔ)Docker應(yīng)用的數(shù)據(jù),也可以用來(lái)在Docker容器間進(jìn)行數(shù)據(jù)共享。數(shù)據(jù)卷呈現(xiàn)給Docker容器的形式就是一個(gè)目錄,支持多個(gè)容器間共享,修改也不會(huì)影響鏡像。使用Docker的數(shù)

    2024年02月20日
    瀏覽(25)
  • docker 的volume 是個(gè)什么概念

    在Docker中,Volume(卷)是一種用于在容器和主機(jī)之間共享和持久化數(shù)據(jù)的機(jī)制。Volumes允許在容器之間或容器與主機(jī)之間共享文件,并且數(shù)據(jù)在容器的生命周期中是持久的。這是因?yàn)槿萜鞯奈募到y(tǒng)是臨時(shí)的,容器被刪除后文件系統(tǒng)中的數(shù)據(jù)也會(huì)被清除,而Volume提供了一種解決

    2024年02月22日
    瀏覽(27)
  • Docker Volume 看這一篇就夠了

    Docker Volume 看這一篇就夠了

    默認(rèn)情況下,在容器內(nèi)創(chuàng)建的所有文件都存儲(chǔ)在可寫(xiě)容器層上。這意味著: 當(dāng)該容器不再存在時(shí),數(shù)據(jù)不會(huì)持續(xù)存在,并且如果另一個(gè)進(jìn)程需要數(shù)據(jù),則可能很難將數(shù)據(jù)從容器中取出。 容器的可寫(xiě)層與運(yùn)行容器的主機(jī)緊密耦合。您無(wú)法輕松地將數(shù)據(jù)移動(dòng)到其他地方。 寫(xiě)入容

    2024年02月02日
    瀏覽(106)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包