Docker#4 - 資料卷
前言
容器內部檔案是隔離的特性,如果要與外部的程式溝通,要用網路通訊以及檔案存取方式處理,如何做到內部與容器之間的資料管理,有分資料卷 (Data Volumes) 以及資料卷容器 (Data Volume Containers)
資料卷 (Data Volumes)
簡單來說就是從外界掛載在容器中的檔案或目錄,由於是掛載的,所以不會因為容器被刪除之後而有受到影響。
資料卷的使用類似 linux 對目錄或文件的 mount
列出資料卷
可以列出主機上的資料卷,這也包含未被使用的資料卷以及正在使用的資料卷
1 | $ docker volume list |
建立資料卷
1 | $ docker volume create testvol |
可以輸入以下指令查看指定的資料卷資訊
1 | $ docker volume inspect testvol |
啟動一個掛載資料卷的容器
一個 docker run 可以掛載多個容器
1 | $ docker run -d -P --name webapp --mount source=testvol,target=/webapp maruko/nginx |
1 | $ docker inspect webapp |
刪除資料卷
使用 rm 指令要特別小心,可以加上 -v 參數一起刪除使用的資料卷
1 | $ docker volume rm -v testvol |
或者使用 volume id 方式,這組的 ID 必須使用 64 位元,無法使用簡寫輸入
1 | $ docker volume rm e4f09874fe24bed49af733a74237487a43bdace89cc138291b9e34e754d623be |