溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker數據管理主要方式是什么

發布時間:2021-07-01 12:00:32 來源:億速云 閱讀:332 作者:chen 欄目:大數據

本篇內容主要講解“Docker數據管理主要方式是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Docker數據管理主要方式是什么”吧!

  • 在docker容器中管理數據主要有兩種方式:

    • 數據卷(Volumes)

    • 掛載主機目錄(Bind mounts)

  • 數據卷

    • 數據卷可以在容器之間共享和重用;

    • 對數據卷的修改會立馬生效;

    • 對數據卷的更新,不會影響到鏡像;

    • 數據卷默認會一直存在,即使容器被刪除;

    • 數據卷是一個可供一個或多個容器使用的特殊目錄,它繞過UFS,可以提供很多有用的特性:

    • 注意:數據卷的使用,類似于Linux下對目錄或文件進行mount,鏡像中的被指定為掛載點的目錄中的文件會隱藏掉,能顯示看的是掛載的數據卷。

    • docker提供了兩種掛載方式:-v-mount。對于docker新用戶 ,應該選擇--mount參數,經驗豐富的docker使用者對-v或者--volume已經很熟悉了,但是還是推薦使用-mount參數。

    • 創建一個數據卷

      docker volume create my-volume


    • 查看所有的數據卷

      docker volume ls


    • 查看指定數據卷的信息

      docker volume inspect my-volume


    • 查看指定數據卷的信息

      docker  volume inspect my-volume


    • 啟動一個掛載數據卷的容器

      在用docker run命令的時候,使用--mount標記來將數據卷掛載到容器里。在一次docker run中可以掛載多個數據卷。

    • 創建一個名為session-web的容器,并加載一個數據卷到容器的/webapp目錄

      docker run --name session-web -d -p 8888:8080 \
      # -v my-volume:/webapp \
      --mount source=my-volume,target=/webapp \
      session-web:latest


    • 刪除數據卷

      docker volume rm my-volume


      數據卷是被設計用來持久化數據的,它的聲明周期獨立于容器,docker不會在容器被刪除后自動刪除數據卷,并且也不存在 垃圾回收這樣的機制來處理沒有任何容器引用的數據卷。如果需要在刪除容器的同時移除數據卷 ??梢栽趧h除容器的時候使用docker rm -v這個命令。

    • 無主的數據卷可能會占據很多空間,要清理請使用以下命令:

      docker volume prune


  • 掛載主機目錄

    • 本地目錄和容器目錄的路徑必須是絕對路徑;

    • 以前——在使用-v參數時如果本地目錄不存在,docker會自動為你創建一個文件夾;

    • 現在——在使用--mount參數時,如果本地目錄不存在,docker會報錯

    • docker掛載主機目錄的默認權限是讀寫,用戶可以通過增加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數據管理主要方式是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女