1.05 docker的持久化儲存和資料共享

尹成發表於2018-12-10

1.資料持久化引入

  • container可以讀和寫,image只讀
    在這裡插入圖片描述
  • 但是container寫入的資料只在container內,如果將容器刪除,那麼資料丟失
  • 如果是資料庫的容器,資料丟失後果很嚴重
    在這裡插入圖片描述
    2.資料持久化方案
  • 基於本地檔案系統的Volume,可以執行docker create或docker run時,通過-v引數將主機的目錄作為容器的資料卷,這部分功能便是基於本地檔案系統的volume管理
  • 基於plugin的Volume,支援第三方的儲存方案,例如NAS,aws

3.Volume的型別

  • 受管理的data Volume:由docker後臺自動建立
  • 繫結掛載的Volume:具體掛載位置可以由使用者指定

4.資料持久化——data Volume

  • 建立mysql容器,指定為不需要密碼
    在這裡插入圖片描述
  • 查程式
    在這裡插入圖片描述
  • 檢視所有的volume
    在這裡插入圖片描述
  • 檢視volume具體資訊
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 停止mysql的容器
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 刪除mysql的容器
    在這裡插入圖片描述
  • 檢視volume資料還在
    在這裡插入圖片描述
  • 刪掉所有不被引用的volume
    在這裡插入圖片描述
  • 建立容器,將容器中/var/lib/mysql下產生的資料,volume到本地重新命名為mysql
    在這裡插入圖片描述
  • 檢視產生的volume
    在這裡插入圖片描述
  • 互動執行,並進入mysql
    在這裡插入圖片描述
  • 建立庫並退出
    在這裡插入圖片描述
  • 將mysql1容器停止並刪除
    在這裡插入圖片描述
  • 進入目錄檢視資料
    在這裡插入圖片描述
  • 建立新的mysql容器
    在這裡插入圖片描述
  • 互動執行並進入mysql
    在這裡插入圖片描述
  • 檢視資料,實現了資料持久化
    在這裡插入圖片描述

5.資料持久化——bind mouting

  • 建立並進入目錄
    在這裡插入圖片描述
  • 建立index.html檔案,並寫入以下內容
    在這裡插入圖片描述
<h1>Hello Docker! </h1>
  • 建立Dockerfile檔案,並寫入如下內容
FROM nginx:latest
WORKDIR /usr/share/nginx/html
COPY index.html index.html
  • 構建image
    在這裡插入圖片描述
  • 檢視image
    在這裡插入圖片描述
  • 起別名建立容器
    在這裡插入圖片描述
  • 可以從本地訪問index.html
    在這裡插入圖片描述
  • 停止並刪除容器
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 重新建立容器,將本地/home/nginx目錄與容器內/usr/share/nginx/html目錄對映,目錄是在Dockerfile裡定義的
    在這裡插入圖片描述
  • 互動執行,檢視目錄下檔案,建立一個新檔案test.txt,然後exit退出
    在這裡插入圖片描述
  • 在本地檢視/home/nginx目錄
    在這裡插入圖片描述
  • 給檔案新增點內容,然後再進入容器檢視檔案內容
    在這裡插入圖片描述

學院Go語言視訊主頁
https://edu.csdn.net/lecturer/1928

[清華團隊帶你實戰區塊鏈開發]
(https://ke.qq.com/course/344443?tuin=3d17195d)
掃碼獲取海量視訊及原始碼 QQ群:
721929980
在這裡插入圖片描述

相關文章