您好,登錄后才能下訂單哦!
這篇文章主要介紹“Docker數據掛載的方式有哪些”,在日常操作中,相信很多人在Docker數據掛載的方式有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker數據掛載的方式有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在容器中管理數據主要有兩種方式:
數據卷(Volumes)
掛載主機目錄(Bind mounts)
數據卷是一個可供一個或多個容器使用的特殊目錄,它繞過 UFS,可以提供很多有用的特性:
數據卷可以在容器之間共享和重用。
對數據卷的修改會立馬生效。
對數據卷的更新,不會影響鏡像。
數據卷默認會一直存在,即使容器被刪除。
注意:對數據卷的使用,類似于 Linux 下對目錄或文件進行 mount,鏡像中的被指定為掛載點的目錄中的文件會隱藏掉,能顯示看的是掛載的數據卷。
Docker 新用戶應該選擇 --mount 參數,經驗豐富的 Docker 使用者對 -v 或者 --volume 已經很熟悉了,但是還是推薦使用 --mount 參數。
創建一個數據卷
docker volume create my-volume
查看所有的數據卷
docker volume ls
查看指定數據卷的信息
docker volume inspect my-volume docker inspect my-volume
啟動一個掛載數據卷的容器
在用 docker run
命令的時候,使用 --mount
標記來將數據卷掛載到容器里。
在一次 docker run
中可以掛載多個數據卷。
創建一個名為 test-web 的容器,并加載一個數據卷到容器的 /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
刪除數據卷
docker volume rm my-volume
數據卷是被設計用來持久化數據的,它的生命周期獨立于容器,Docker 不會在容器被刪除之后自動刪除數據卷,并且也不存在垃圾回收這樣的機制來處理沒有任何容器引用的數據卷。
如果需要在刪除容器的同時移除數據卷,可以在刪除容器的時候使用 docker rm -v
這個命令。
無主的數據卷可能會占據很多空間,要清理請使用以下命令:
docker volume prune
使用 --mount 標記可以指定掛載一個本地主機的目錄到容器中去
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 參數時如果本地目錄不存在,Docker 會自動為你創建一個文件件。
現在 --- 使用 --mount 參數時如果本地目錄不存在,Docker 會報錯。
上面的命令加載主機的 /src/webapps 目錄到容器中的 /opt/webapps 目錄。這個功能在進行測試的時候非常方便,比如用戶可以放置一些程序到本地目錄中,來查看容器是否正常工作。
本地目錄的路徑必須是絕對路徑。
Docker 掛載主機目錄的默認權限是讀寫,用戶也可以通過增加 readonly 指定為只讀。
--mount 標記也可以從主機掛載單個文件到容器中
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
這樣就可以記錄在容器中輸入過的命令了。
到此,關于“Docker數據掛載的方式有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。