這篇文章主要介紹“Docker數(shù)據(jù)掛載的方式有哪些”,在日常操作中,相信很多人在Docker數(shù)據(jù)掛載的方式有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker數(shù)據(jù)掛載的方式有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
為陽東等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及陽東網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、陽東網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
在容器中管理數(shù)據(jù)主要有兩種方式:
數(shù)據(jù)卷(Volumes)
掛載主機目錄(Bind mounts)
數(shù)據(jù)卷是一個可供一個或多個容器使用的特殊目錄,它繞過 UFS,可以提供很多有用的特性:
數(shù)據(jù)卷可以在容器之間共享和重用。
對數(shù)據(jù)卷的修改會立馬生效。
對數(shù)據(jù)卷的更新,不會影響鏡像。
數(shù)據(jù)卷默認會一直存在,即使容器被刪除。
注意:對數(shù)據(jù)卷的使用,類似于 Linux 下對目錄或文件進行 mount,鏡像中的被指定為掛載點的目錄中的文件會隱藏掉,能顯示看的是掛載的數(shù)據(jù)卷。
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 docker inspect my-volume
啟動一個掛載數(shù)據(jù)卷的容器
在用 docker run
命令的時候,使用 --mount
標(biāo)記來將數(shù)據(jù)卷掛載到容器里。
在一次 docker run
中可以掛載多個數(shù)據(jù)卷。
創(chuàng)建一個名為 test-web 的容器,并加載一個數(shù)據(jù)卷到容器的 /webapps 目錄
docker run --name test-web -p 8888:8080 --mount source=my-volume,target=/webapps test-web:latest docker run --name test-web -p 8888:8080 -v my-volume:/webapps test-web:latest
刪除數(shù)據(jù)卷
docker volume rm my-volume
數(shù)據(jù)卷是被設(shè)計用來持久化數(shù)據(jù)的,它的生命周期獨立于容器,Docker 不會在容器被刪除之后自動刪除數(shù)據(jù)卷,并且也不存在垃圾回收這樣的機制來處理沒有任何容器引用的數(shù)據(jù)卷。
如果需要在刪除容器的同時移除數(shù)據(jù)卷,可以在刪除容器的時候使用 docker rm -v
這個命令。
無主的數(shù)據(jù)卷可能會占據(jù)很多空間,要清理請使用以下命令:
docker volume prune
使用 --mount 標(biāo)記可以指定掛載一個本地主機的目錄到容器中去
docekr run --name test-web -d -p 8888:8080 --mount type=bind,source=/src/webapps,target=/opt/webapps test-web:latest docekr run --name test-web -d -p 8888:8080 -v my-volume:/webapps test-web:latest
以前 --- 使用 -v 參數(shù)時如果本地目錄不存在,Docker 會自動為你創(chuàng)建一個文件件。
現(xiàn)在 --- 使用 --mount 參數(shù)時如果本地目錄不存在,Docker 會報錯。
上面的命令加載主機的 /src/webapps 目錄到容器中的 /opt/webapps 目錄。這個功能在進行測試的時候非常方便,比如用戶可以放置一些程序到本地目錄中,來查看容器是否正常工作。
本地目錄的路徑必須是絕對路徑。
Docker 掛載主機目錄的默認權(quán)限是讀寫,用戶也可以通過增加 readonly 指定為只讀。
--mount 標(biāo)記也可以從主機掛載單個文件到容器中
docker run --rm -it --mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history ubuntu:17.10 bash docker run --rm -it -v $HOME/.bash_history:/root/.bash_history ubuntu:17.10 bash
這樣就可以記錄在容器中輸入過的命令了。
到此,關(guān)于“Docker數(shù)據(jù)掛載的方式有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當(dāng)前標(biāo)題:Docker數(shù)據(jù)掛載的方式有哪些
標(biāo)題鏈接:http://weahome.cn/article/iphdch.html