docker學習系列(四):數據持久化


需要搞清楚一個概念的是,docker的容器設計理念是可以即開即用,用完可以隨意刪除,而新建容器是根據鏡像進行渲染,容器的修改是不會影響到鏡像,但是有時候容器里面運行的產生的數據(如mysql)或者配置項(如nginx的nginx.conf)我們又需要保存起來的,因而我們需要對容器某些修改的數據進行掛載。

下面介紹三種持久化數據的方式

1.掛載磁盤到本地

docker run -v 宿主目錄:容器掛載的目錄 鏡像

這時候docker會自動在對應的目錄下進行掛載,值得注意的是,如果容器里面沒有宿主機對應的目錄,那么容器會自動創建對應的目錄。如果沒有指定宿主目錄,那么會自動在/var/lib/docker/volumes/下進行掛載。

2.使用數據容器

可以選擇創建docker容器,來作為共享數據的容器。

# 創建數據容器
docker create -v 宿主目錄:容器目錄 --name 數據容器名字 基於的環境
# 掛載
docker run --volumes-from 數據容器名字 鏡像 

3.持久化到鏡像

適用於鏡像里的某些運行環境的修改,如php-fpm里面還需要多安裝一個php-pdo之類的東西。

# 保存更改並生成為一個新的image文件
$ docker commit -m "mess" 鏡像id 鏡像名字

操作掛載盤

# 查看全部volume
docker volume ls
# 刪除對應的volume
docker volume rm volumeid


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM