資料管理
注意:-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 使用特定的容器維護資料卷,也就是使用乙個容器的目錄作為根目錄,另乙個容...