Docker筆記(六)_Docker File, Docker Image(映像檔分層結構),Registry , Docker Container

 
Docker File
  • 一個簡單的文字檔案,包含了構建Docker鏡像的命令(FROM, RUN, COPY, … ENTRYPOINT )。
  • 這個檔案沒有任何擴展名。



Docker Image (Layers of Image)
  • 是一個輕量級、獨立且可執行的軟件包,通常建議是一個極度精簡的linux或windows運行環境,內容物通常涵蓋依賴套件、函式庫。
  • 客製化Dockerfile檔案後再通過docker build命令創建而成,那image則可用Dockerfile版控。
  • 儲存在Docker註冊處(例如Docker Hub)。
  • 包含運行一個應用所需的一切,如代碼、運行時環境、系統工具、系統庫和設置。
  • Docker image在儲存時候是以layer的方式儲存,一個鏡像是多個唯讀層的堆疊,這些層引用其他鏡像。
  • 映像是可被多個容器給共享的,映像中每層皆共享。
  • 沒有它你就建立不了 Container,因為後續透過docker run來變成一個container。




補充:
對於匿名使用,每六小時100個容器鏡像請求的速率限制現已生效,而對於免費 Docker 帳戶,則是每六小時200個容器鏡像請求。超過這些限制的鏡像請求將被拒絕,直到六小時的時間間隔過去。





Docker Registry(倉庫)
用於托管、存放 Docker 鏡像的服務
Docker Trusted Registry :可部署於本地或雲端
倉庫分公開庫跟私有庫(只有內部特定人員可存取)

Docker Hub
為Docker官方提供的一個Registry,上面存放各種image。
公開鏡像免費,私有鏡像需付費


https://en.linuxteaching.com/article/how_to_use_docker_registry


一般企業內因應資安考量,通常image都是自己建立,然後會上傳到內部自建的私庫(Registry)去做image的儲存跟拉取。




映像檔分層結構
  • Image 本身可能是由多個 Image 疊加起來的,一疊盤子感覺(Stack堆疊的feeling)。
  • 每個盤子就是一個 Image layer,裡面就是Filesystem。
  • 當容器啟動起來時,會有一個可寫的layer被掛載到映像中的最頂部被稱作「容器層(Container Layer)」,所屬容器層下的稱作「映像層(Image Layer)」屬於唯讀性質。
  • 所有針對容器的相關操作行為(增刪改)都只發生在容器層,比方文件新增及讀取、文件修改刪除等等。


Understanding Your Docker Hub Rate Limit
https://www.docker.com/increase-rate-limits/

https://www.mobilefish.com/developer/docker/docker_quickguide_image.html

Unveiling the Docker Magic: A Deep Dive into Deployment Architecture
https://awstip.com/unveiling-the-docker-magic-a-deep-dive-into-deployment-architecture-d1377fc1cdd1

How to Build Docker Image : Comprehensive Beginners Guide
https://devopscube.com/build-docker-image/

每日小知識#3 - image 是什麼?
https://www.gss.com.tw/blog/%E6%AF%8F%E6%97%A5%E5%B0%8F%E7%9F%A5%E8%AD%98-3-image-%E6%98%AF%E4%BB%80%E9%BA%BC

[Docker] 複製 Container 到另一台 Host 方案匯總
https://medium.com/@yujiewang/docker-%E8%A4%87%E8%A3%BD-container-%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0-host-%E6%96%B9%E6%A1%88%E5%8C%AF%E7%B8%BD-c4c33ebacdc6

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題