Docker實戰 資料管理

2021-08-09 05:59:40 字數 1742 閱讀 8599

資料管理

注意:-p是允許外部訪問容器需要暴露的埠

--docker可以支援把乙個宿主機上的目錄掛載到映象裡。預設可讀寫

docker run -it -v

/root/dock/downloads:/usr/downloads

centos /bin/bash

說明:通過-v引數,冒號前為宿主機目錄,必須為絕對路徑,冒號後為映象內掛載的路徑。

預設掛載的路徑許可權為讀寫。如果指定為唯讀可以用:ro

docker run -it -v

/root/dock/downloads:/usr/downloads:ro centos /bin/bash

資料卷容器

--1、建立乙個資料卷容器

docker run -it -v /dbdata --name dbdata centos

在dbdata目錄下建立test檔案

--2、使用volumes-from在容器中掛載資料卷容器

docker run -it --volumes-from dbdata --name db1 centos

docker run -it --volumes-from dbdata --name db2 centos

在容器中檢視檔案

可以多次使用--volumes-from 引數來從多個容器掛載多個資料卷。還可以從其它已經掛載了容器卷的容器來掛載資料卷:

docker run -d --name db3 --volumes-from db1 training/postgres

注意:使用--volumes-from引數所掛載資料卷的容器自身並不需要保持在執行狀態。

如果刪除了掛載的容器(包括dbdata、db1、db2),資料卷並不會被自動刪除。如果要刪除乙個資料卷,必須在刪除最後乙個還掛載著它的容器時顯式使用docker rm -v命令來指定同時刪除關聯的容器。(通過實驗刪除dbdata資料卷容器後,db1,db2掛載的資料卷內容還在)

--容器資料備份

docker run --volumes-from dbdata -v $(pwd):/backup --name worker centos tar cvf /backup/backup.tar /dbdata

這個命令分四步執行

1、用映象centos建立 worker容器,即--name worker centos 命令

2、用--volumes-from掛載 dbdata資料捲到worker容器(dbdata本身就是容器)

3、用 -v $(pwd):/backup 掛載本地的當前目錄到worker容器的/backup目錄

4、容器啟動後將dbdata備份為容器內的/backup/backup.tar,即宿主主機當前目錄下的backup.tar

--恢復資料卷

1、首先建立乙個帶有資料卷的容器dbdata2

docker run -v /dbdata --name dbdata2 centos /bin/bash

2、然後再建立另乙個新的容器,掛載dbdata2的容器,並使用untar解壓備份檔案到新掛載的容器卷中即可。

docker run --volumes-from dbdata2 -v $(pwd):/backup centos tar xvf /backup/backup.tar

測試(建立容器並掛載dbdata2到新容器上):

docker run -it --volumes-from dbdata2 --name db1 centos

檢視容器下是否有測試相關的檔案

Docker實戰 四 之Docker資料管理

在生產環境中使用docker的過程中,往往需要對資料進行持久化,或者需要在多個容器之間進行資料共享,這必然涉及到容器的資料管理操作。容器中管理資料主要有兩種形式 資料卷 容器內資料直接對映到本地主機環境 資料卷容器 使用特定容器維護資料卷 1.資料卷 資料卷是乙個可供容器使用的特殊目錄,它將主機作業...

Docker 資料管理

1.在容器中管理資料主要有兩種方式 資料卷 data volumes 資料卷容器 data volume containers 資料卷資料卷是乙個可供乙個或多個容器使用的特殊目錄,它繞過 ufs,可以提供很多有用的特性 資料卷可以在容器之間共享和重用 對資料卷的修改會立馬生效 對資料卷的更新,不會影...

Docker 資料管理

容器中管理資料主要有兩種方式 1 資料卷 data volumes 容器內的資料直接對映到宿主機,也就是使用宿主機的目錄作為根目錄,容器裡的目錄對映到根目錄,如下例1 2 資料卷容器 data volume containers 使用特定的容器維護資料卷,也就是使用乙個容器的目錄作為根目錄,另乙個容...