日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 什么是容器數據卷
  • 數據的覆蓋問題
  • 使用數據卷
    • 方式一:直接使用命令掛載 -v
      • 測試掛載卷
    • 方式二:Dockerfile文件
      • 數據卷命令
    • 查看數據卷
      • 方式一:docker inspect 容器ID
      • 方式二:docker volume inspect juming-nginx
    • 掛載三種方式
    • 擴展

      什么是容器數據卷

      從docker的理念說起,docker將應用和環境打包成一個鏡像,運行鏡像(生成容器)就可以訪問服務了。

      如果數據都存在容器中,那么刪除容器,數據就會丟失!需求:數據可以持久化 MySQL容器刪了,就相當于刪庫了。需求:MySQL數據可以本地存儲

      容器之間可以有一個數據共享的技術,docker容器產生的數據同步到本地或者別的地方。

      這就是數據卷技術,就是目錄掛載,將容器內的目錄,掛載到虛擬機上或者Linux上

      Docker中容器數據卷詳解

      目的:實現容器數據的持久化和同步操作。容器間也可以數據共享

      數據的覆蓋問題

      如果掛載一個空的數據卷到容器中的一個非空目錄中,那么這個目錄下的文件會被復制到數據卷中。

      如果掛載一個非空的數據卷到容器中的一個目錄中,那么容器中的目錄中會顯示數據卷中的數據。如果原來容器中的目錄中有數據,那么這些原始數據會被隱藏掉。

      這兩個規則都非常重要,靈活利用第一個規則可以幫助我們初始化數據卷中的內容。掌握第二個規則可以保證掛載數據卷后的數據總是你期望的結果。

      使用數據卷

      方式一:直接使用命令掛載 -v

      docker run -it -v 主機目錄:容器內目錄
      
      docker run -it -v /home/test:/home centos /bin/bash

      docker inspect 命令查看容器信息

      Docker中容器數據卷詳解

      測試掛載卷

      1、在容器內部修改文件同步到Linux主機上

      進入容器,在/home目錄下創建123.sh文件

      Docker中容器數據卷詳解

      主機內可以查看在容器內部創建的文件

      Docker中容器數據卷詳解

      2、同樣地,在Linux上修改掛在卷文件可以同步到容器內部

      Docker中容器數據卷詳解

      3、停止容器,修改Linux主機上的文件,同步到容器內

      # 1、停止容器
      exit
      
      # 2、查看容器是否還在運行
      docker ps
      
      # 3、在Linux主機上修改對應目錄的文件
      
      # 4、啟動容器并查看
        
        # 4.1、 查看歷史運行的容器
        docker ps -a
        
        # 4.2、 啟動容器
        docker start CONTAINER ID
        
        # 4.3、 進去容器
        docker attach CONTAINER ID
        
        # 4.4、 查看數據卷文件

      Docker中容器數據卷詳解

      方式二:Dockerfile文件

      請查看下一章節

      數據卷命令

      docker volume
      
      docker volume --help
      Usage:  docker volume COMMAND
      Manage volumes
      Commands:
        create      Create a volume
        inspect     Display detailed information on one or more volumes
        ls          List volumes
        prune       Remove all unused local volumes
        rm          Remove one or more volumes
      
      Run 'docker volume COMMAND --help' for more information on a command.

      Docker中容器數據卷詳解

      具名掛載/匿名掛載 匿名掛載

      -v 容器內路徑
      -P 自動分配端口號
      
      docker run -d -P --name nginx02 -v /etc/nginx nginx

      具名掛載

      -v 卷名:容器內路徑
      docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx nginx

      Docker中容器數據卷詳解

      查看數據卷

      方式一:docker inspect 容器ID

      Docker中容器數據卷詳解

      方式二:docker volume inspect juming-nginx

      Docker中容器數據卷詳解

      查看Linux主機docker工作目錄 /var/lib/docker

      所有docker容器內的卷,沒有指定目錄的情況下都是存放在 /var/lib/docker/volumes/xxx/_data 目錄下

      Docker中容器數據卷詳解

      掛載三種方式

      # 1
      -v 容器內路徑            # 匿名掛載
      
      # 2
      -v 卷名:容器內路徑       # 具名掛載
      
      # 3
      -v 宿主機路徑:容器內路徑 # 指定路徑掛載

      擴展

      給掛載的數據卷增加讀寫權限控制

      通過 -v 容器內路徑, ro rw 改變讀寫權限

      ro readonly 只讀

      rw readwrite 可讀寫

      # 一旦設置了容器權限,容器對我們掛載出來的內容就有限定了
      
      docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx:ro nginx
      docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx:rw nginx

      ro : 說明這個路徑只能通過宿主機來操作,容器內無法操作

      分享到:
      標簽:Docker 容器 數據 服務器 詳解
      用戶無頭像

      網友整理

      注冊時間:

      網站:5 個   小程序:0 個  文章:12 篇

      • 51998

        網站

      • 12

        小程序

      • 1030137

        文章

      • 747

        會員

      趕快注冊賬號,推廣您的網站吧!
      最新入駐小程序

      數獨大挑戰2018-06-03

      數獨一種數學游戲,玩家需要根據9

      答題星2018-06-03

      您可以通過答題星輕松地創建試卷

      全階人生考試2018-06-03

      各種考試題,題庫,初中,高中,大學四六

      運動步數有氧達人2018-06-03

      記錄運動步數,積累氧氣值。還可偷

      每日養生app2018-06-03

      每日養生,天天健康

      體育訓練成績評定2018-06-03

      通用課目體育訓練成績評定