2016-11-08 46 views
0

處理大圖像時遇到的問題是Docker會在您創建容器時複製所有數據:因此,在Docker虛擬機上使用25GB圖像和容器完全佔用大約50GB。 我做錯了什麼或者Docker的功能是這樣嗎?如果是這樣,爲什麼?例如,在Git中,您可以在克隆回購庫後直接使用代碼,大多數情況下您不需要額外增加一個分支或任何其他副本。我想保留我的MySQL數據庫的不同版本(因爲目前它是由開發人員獨佔地更改的,而且發生頻率不是很高),而且我希望啓用快速恢復(唯一方法MySQL允許從* .sql文件恢復,並且它需要7個小時 - 太長時間才能夠自由地使用db)爲什麼docker在VM上保留圖像和圖像容器?

+2

如果你有很多數據,你應該使用卷。圖像應該很小,閱讀https://docs.docker.com/engine/tutorials/dockervolumes/並使用Alpine或bitnami(Debian光)作爲基礎圖像,並且您的圖像將更小 – user2915097

+0

@ user2915097添加了我的用例這個問題 – Yurii

回答

0

MySql數據庫至少使用卷的官方映像。你只需要兩個容器中使用不同的命名卷枝條相同的圖像:

docker create volume devdb 
docker run --name devdb -v devdb:/var/lib/mysql -p 3306:3306-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 

然後又爲您提供:

docker create volume mydb 
docker run --name mydb -v mydb:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 

而且恐怕泊塢窗將所有的圖像內容到新的容器。但我不確定這一點。

Regards

相關問題