本篇內(nèi)容主要講解“Docker數(shù)據(jù)管理主要方式是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Docker數(shù)據(jù)管理主要方式是什么”吧!
成都創(chuàng)新互聯(lián)公司專業(yè)成都做網(wǎng)站、成都網(wǎng)站設(shè)計,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文營銷等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
在docker容器中管理數(shù)據(jù)主要有兩種方式:
數(shù)據(jù)卷(Volumes)
掛載主機目錄(Bind mounts)
數(shù)據(jù)卷
數(shù)據(jù)卷可以在容器之間共享和重用;
對數(shù)據(jù)卷的修改會立馬生效;
對數(shù)據(jù)卷的更新,不會影響到鏡像;
數(shù)據(jù)卷默認會一直存在,即使容器被刪除;
數(shù)據(jù)卷是一個可供一個或多個容器使用的特殊目錄,它繞過UFS,可以提供很多有用的特性:
注意:數(shù)據(jù)卷的使用,類似于Linux下對目錄或文件進行mount,鏡像中的被指定為掛載點的目錄中的文件會隱藏掉,能顯示看的是掛載的數(shù)據(jù)卷。
docker提供了兩種掛載方式:-v
和-mount
。對于docker新用戶 ,應(yīng)該選擇--mount
參數(shù),經(jīng)驗豐富的docker使用者對-v
或者--volume
已經(jīng)很熟悉了,但是還是推薦使用-mount
參數(shù)。
創(chuàng)建一個數(shù)據(jù)卷
docker volume create my-volume
查看所有的數(shù)據(jù)卷
docker volume ls
查看指定數(shù)據(jù)卷的信息
docker volume inspect my-volume
查看指定數(shù)據(jù)卷的信息
docker volume inspect my-volume
啟動一個掛載數(shù)據(jù)卷的容器
在用docker run
命令的時候,使用--mount
標記來將數(shù)據(jù)卷掛載到容器里。在一次docker run中可以掛載多個數(shù)據(jù)卷。
創(chuàng)建一個名為session-web
的容器,并加載一個數(shù)據(jù)卷到容器的/webapp
目錄
docker run --name session-web -d -p 8888:8080 \ # -v my-volume:/webapp \ --mount source=my-volume,target=/webapp \ session-web:latest
刪除數(shù)據(jù)卷
docker volume rm my-volume
數(shù)據(jù)卷是被設(shè)計用來持久化數(shù)據(jù)的,它的聲明周期獨立于容器,docker不會在容器被刪除后自動刪除數(shù)據(jù)卷,并且也不存在 垃圾回收這樣的機制來處理沒有任何容器引用的數(shù)據(jù)卷。如果需要在刪除容器的同時移除數(shù)據(jù)卷 ??梢栽趧h除容器的時候使用docker rm -v
這個命令。
無主的數(shù)據(jù)卷可能會占據(jù)很多空間,要清理請使用以下命令:
docker volume prune
掛載主機目錄
本地目錄和容器目錄的路徑必須是絕對路徑;
以前——在使用-v
參數(shù)時如果本地目錄不存在,docker會自動為你創(chuàng)建一個文件夾;
現(xiàn)在——在使用--mount
參數(shù)時,如果本地目錄不存在,docker會報錯
docker掛載主機目錄的默認權(quán)限是讀寫,用戶可以通過增加readonly指定為只讀。
使用--mount
標記可以指定掛載一個本地主機的目錄到容器中去
docker run --name session-web -d -p 8888:8080 \ # -v my-volume:/webapp \ --mount type=bind,source=/src/webapp,target=/opt/webapp \ session-web:latest
上面的命令加載主機的/src/webapp
目錄到容器的/opt/webapp
目錄。這個功能在進行測試的時候十分方便,比如用戶可以放置一些程序到本地目錄中,來查看容器是否正常工作。
注意事項
--mount
標記也可以從主機掛載單個文件到容器中
docker run --rm -it \ # -v $HOME/.bash_history:/root/.bash_history \ --mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history \ ubuntu:17.10 \ bash
這樣就可以記錄在容器輸入過的命令了。
到此,相信大家對“Docker數(shù)據(jù)管理主要方式是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!