1. 程式人生 > >Docker核心技術(三)

Docker核心技術(三)

Docker核心技術

Docker容器資料卷

Docker容器資料卷是什麼?

在這裡插入圖片描述

Docker容器資料卷能幹嘛?

在這裡插入圖片描述
在這裡插入圖片描述

Docker容器資料卷的實操

容器內新增:

直接命令新增

在這裡插入圖片描述

  • 命令:
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    這個時候,主機和容器就可以進行資料的共享了;
  • 檢視資料是否掛載成功
    在這裡插入圖片描述
    這個時候,就是已經繫結成功了:
    在這裡插入圖片描述

  • 容器和宿主機之前的資料共享
    在這裡插入圖片描述
    在這裡插入圖片描述
    我們在主機裡面touch一個檔案,在容器裡面就是可以檢視的到:
    在這裡插入圖片描述

我們再從虛擬機器裡面編寫這個檔案:
在這裡插入圖片描述
在容器裡面編寫這個檔案,在主機裡面也得到更新了:
在這裡插入圖片描述
我們在容器裡面新建一個檔案,在主機也是可以看到的:
在這裡插入圖片描述

  • 容器停止退出後,主機修改資料後,資料是否同步?
    在這裡插入圖片描述
    我們把容器停止,停止了之後,我們對主機裡面的共享檔案進行修改,修改了之後,我們再重新啟動容器:
    在這裡插入圖片描述
  • 命令帶許可權
    在這裡插入圖片描述
    在這裡插入圖片描述
    ro:就是表示read only的意思。

DockerFile新增

在這裡插入圖片描述
在這裡插入圖片描述

  • 在根目錄下面新建mydocker資料夾並進行
  • 在Dockerfile中使用VOLUME指令來給映象新增一個或多個數據卷
    在這裡插入圖片描述
  • File的構建
    在這裡插入圖片描述
    在這裡插入圖片描述
  • build生成映象:
    在這裡插入圖片描述

這個時候,新的映象就是有兩個資料捲了:
在這裡插入圖片描述
我們檢視一下映象:
在這裡插入圖片描述
這個時候 ,就是成功了:
在這裡插入圖片描述


在這裡插入圖片描述
我們在主機上用inspect去檢視容器的元資料:
沒有指定宿主機的話,那麼就是預設在這個路徑上:
在這裡插入圖片描述
我們進入到這個目錄:
在這裡插入圖片描述
在主機上建的檔案,在容器裡面也有了:
在這裡插入圖片描述

  • 備註:
    在這裡插入圖片描述

資料卷容器

資料卷容器是什麼?

在這裡插入圖片描述

總體介紹

在這裡插入圖片描述

容器間傳遞共享

在這裡插入圖片描述


執行一個ldc/centsos的例項:這個作為父容器
在這裡插入圖片描述
再執行一個容器,繼承於dc01容器:
在這裡插入圖片描述
我們在容器2裡面進入到這個資料夾,發現,裡面有之前在容器1裡面新建的檔案:
在這裡插入圖片描述
我們再執行一個容器3,發現裡面有之前在容器1新建的檔案,還有在容器2新建的檔案:
在這裡插入圖片描述
檢視一下正在執行的容器例項:
在這裡插入圖片描述


在這裡插入圖片描述


現在我們來進行刪除:
在這裡插入圖片描述
在這裡插入圖片描述


結論
在這裡插入圖片描述

DockerFile解析

在這裡插入圖片描述

是什麼?

在這裡插入圖片描述

在這裡插入圖片描述

DockerFile構建過程解析

DockerFile內容基礎知識

在這裡插入圖片描述

Docker執行DockerFile的大致流程

在這裡插入圖片描述

小總結

在這裡插入圖片描述

DockerFile的體系結構

在這裡插入圖片描述


在這裡插入圖片描述


在這裡插入圖片描述


在這裡插入圖片描述
在這裡插入圖片描述
總結:
在這裡插入圖片描述

案例

Base映象(scratch)

在這裡插入圖片描述
在這裡插入圖片描述

自定義映象mycentos

在這裡插入圖片描述

  • Hub預設CentOS映象是什麼情況:
    在這裡插入圖片描述
  1. 然後就可以開始編寫DockerFile檔案
    在這裡插入圖片描述
  2. 構建
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    這個時候,就表示構建成功了:
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    檢視映象的變更歷史:
    在這裡插入圖片描述

CMD/ENTRYPOINT映象案例
在這裡插入圖片描述


在這裡插入圖片描述
ENTROYPOINT:
在這裡插入圖片描述


在這裡插入圖片描述


在這裡插入圖片描述


在這裡插入圖片描述