我已經設置了一個在Docker中運行的基本MariaDB實例 - 基本上從使用Kitematic UI啓動容器,更改設置並讓它運行。Docker設置更改後MariaDB數據是否丟失?
今天,我想做一個備份,所以我使用Kitematic來更改端口,以便我可以從機器訪問它以進行自動備份。在改變Kitematic的端口之後,似乎已經啓動了一個新的MariaDB容器(即我的所有數據似乎都被刪除了)。
這是預期的行爲?而且,更重要的是,是否有任何方法可以恢復看似缺失的數據,還是將其徹底刪除?另外,如果實際上刪除了數據,那麼更改設置的首選方式(如暴露的端口)是什麼,而不會丟失所有更改? docker commit
?
注:
- 運行搬運工1.12.0測試版OS X
docker -ps a
顯示爲 「最多X分鐘」 的時候,原來的已經達到了好幾天的數據庫狀態
在此先感謝!
UPDATE:
它看起來像所推薦的程序保留的數據(而不創建卷或類似的)是:
- 提交更改(例如
docker commit <containerid> <name/tag>
) - 取容器離線
- 更新設置,如曝光端口或其他
- 運行圖像與承諾修改
...取自this answer。
那麼,是不是安全地說,更改設置在Kitematic中刪除當前容器,更新設置,並啓動一個新的容器實例? – blakek
是的,因爲它需要用不同的參數集調用'docker run'命令。 –