Docker 數(shù)據(jù)卷容器

2018-08-04 17:55 更新

如果你有一些持續(xù)更新的數(shù)據(jù)需要在容器之間共享,最好創(chuàng)建數(shù)據(jù)卷容器。

數(shù)據(jù)卷容器,其實就是一個正常的容器,專門用來提供數(shù)據(jù)卷供其它容器掛載的。

首先,創(chuàng)建一個命名的數(shù)據(jù)卷容器 dbdata:

$ sudo docker run -d -v /dbdata --name dbdata training/postgres echo Data-only container for postgres

然后,在其他容器中使用 --volumes-from 來掛載 dbdata 容器中的數(shù)據(jù)卷。

$ sudo docker run -d --volumes-from dbdata --name db1 training/postgres
$ sudo docker run -d --volumes-from dbdata --name db2 training/postgres

還可以使用多個 --volumes-from 參數(shù)來從多個容器掛載多個數(shù)據(jù)卷。 也可以從其他已經(jīng)掛載了數(shù)據(jù)卷的容器來掛載數(shù)據(jù)卷。

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

*注意:使用 --volumes-from 參數(shù)所掛載數(shù)據(jù)卷的容器自己并不需要保持在運行狀態(tài)。

如果刪除了掛載的容器(包括 dbdata、db1 和 db2),數(shù)據(jù)卷并不會被自動刪除。如果要刪除一個數(shù)據(jù)卷,必須在刪除最后一個還掛載著它的容器時使用 docker rm -v 命令來指定同時刪除關聯(lián)的容器。 這可以讓用戶在容器之間升級和移動數(shù)據(jù)卷。具體的操作將在下一節(jié)中進行講解。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號