資料卷管理
資料卷容器
docker cp 需要拷貝的檔案或目錄 容器名:容器內的目錄路徑
如:把宿主機當前目錄下的lxf.sh
檔案,拷貝到lxfubuntu1
容器下的/data
目錄中
docker cp lxf.sh lxfubuntu1:/data
docker cp 容器名:容器內需要拷貝的檔案或目錄 宿主機目錄
如:把lxfubuntu1
容器中/data
目錄下的lxf.sh
檔案,拷貝到宿主機~/lxf/
目錄下
docker cp lxfubuntu1:/data/lxf.sh ~/lxf/
資料卷管理就是將容器的某個目錄,對映到宿主機,作為資料儲存同步的目錄命令:
docker run -itd --name [容器名字] -v [宿主機目錄]:[容器目錄]
[映象名稱]
[命令(可選)
]
下面進行操作示範:
在宿主機建立乙個名為data
的目錄,這個名字可任意
mkdir data
將宿主機的data
目錄對映到容器中的/home
目錄
docker run -it -v ~/lxf/data:/home ubuntu /bin/bash
-v
:掛載乙個資料卷
接著,我在容器的/home
目錄下建立乙個lxfdir
目錄
此時,宿主機的data
目錄下也會同步多了乙個lxfdir
目錄
這個宿主機的data
目錄就叫資料卷。
除了宿主機與容器之間可以進行資料互動外,如果兩個容器的目錄都對映到同乙個宿主機目錄,那還可以讓多個容器間進行資料共享。
資料卷容器也是乙個容器,目的是專門用於提供資料卷給其它容器掛載,從而實現多個容器之間同步資料的更新。命令:
docker create -v [容器資料卷目錄] --name [容器名字]
[映象名稱]
[命令(可選)
]
對ubuntu
映象做了檔案對映,得到資料卷目錄為/data
的模板容器
注意看該模板容器的狀態是created
,即並沒有執行,容器名為determined_nightingale
命令:
docker run --volumes-from [資料卷容器id/name] -tid --name [容器名字]
[映象名稱]
[命令(可選)
]
建立lxfubuntu1
容器
在容器的根目錄下,會基於上述模板建立了乙個名為data
的目錄(原ubuntu
映象中是沒有的)
我們再建立乙個lxfubuntu2
容器
此時,我們在lxfubuntu1
的data
目錄下建立乙個名為lxf
的目錄,lxfubuntu2
的data
目錄中也會同步到相同的資料
這樣,只要我們是基於資料卷模板容器建立出來的容器,就可以得到乙個資料共享的data
目錄,在該data
目錄中對檔案的操作,都可以同步到各個由該模板容器建立出來的容器中。
資料卷容器可以實現多個容器的資料同步,但是資料是儲存在資料卷內,並沒有儲存到宿主機的檔案目錄中。如:把宿主機當前目錄下的如果想將宿主機的檔案同步到各個容器,可以使用
docker cp
將宿主機下的檔案拷貝到資料卷容器即可,反之亦然
lxf.sh
檔案,拷貝到資料卷容器determined_nightingale
中/data
目錄下
docker cp lxf.sh determined_nightingale:/data
如:把資料卷容器determined_nightingale
中/data
目錄下的lxf.sh
檔案,拷貝到宿主機~/lxf
目錄下
docker cp determined_nightingale:/data/lxf.txt ~/lxf
是不是有人要問了,如果我基於資料卷模板建立容器時,順帶設定資料卷呢?,命令如下所示
docker run -it -v ~/lxf/data:/data --volumes-from determined_nightingale --name lxfubuntu3 ubuntu /bin/bash
很遺憾,只有資料卷配置生效,資料卷容器配置不生效~ Docker 資料管理
1.在容器中管理資料主要有兩種方式 資料卷 data volumes 資料卷容器 data volume containers 資料卷資料卷是乙個可供乙個或多個容器使用的特殊目錄,它繞過 ufs,可以提供很多有用的特性 資料卷可以在容器之間共享和重用 對資料卷的修改會立馬生效 對資料卷的更新,不會影...
Docker 資料管理
容器中管理資料主要有兩種方式 1 資料卷 data volumes 容器內的資料直接對映到宿主機,也就是使用宿主機的目錄作為根目錄,容器裡的目錄對映到根目錄,如下例1 2 資料卷容器 data volume containers 使用特定的容器維護資料卷,也就是使用乙個容器的目錄作為根目錄,另乙個容...
Docker資料管理
使用docker過程中,需要能檢視容器內應用產生的資料,或需要將容器內的資料進行備份,甚至在多個容器之間進行資料的共享,這些都將涉及容器資料管理的操作 容器中管理資料主要的兩種形式 1 資料卷 data volumes 2 資料卷容器 data volume containers 1 資料卷 資料卷...