1. 程式人生 > 其它 >DockerFile 解析

DockerFile 解析

DockerFile是什麼

Dockerfile是用來構建Docker映象的構建檔案,是由一系列命令和引數構成的指令碼

Docker 三步驟

  1. 手動編寫一個dockerfile檔案,當然,必須要符合file的規範
  2. 有這個檔案後,直接 docker buid 命令執行,獲得一個自定義的映象
  3. run

DockerFile張什麼樣

以我們熟悉的 sentos 為列

https://github.com/CentOS/sig-cloud-instance-images/blob/b2d195220e1c5b181427c3172829c23ab9cd27eb/docker/Dockerfile

DockerFile 構建過程解析

DockerFile內容基礎知識

  1. 每條保留字指令都必須為大寫字母且後面要跟隨至少一個引數
  2. 指令按照從上到下,順序執行
  3. # 表示註釋
  4. 每條指令都會建立一個新的映象層,並對映象進行提交

Docker執行DockerFile的大致流程

  1. dockers從基礎映象執行一個容器
  2. 執行一條指令並對容器做出修改
  3. 執行類似docker commit的操作提交一個新的映象層
  4. docker 在基於剛才提交的映象執行一個新容器
  5. 執行docker中的下一條指令直到所有指令都執行完成

小總結

從應用軟體的角度來看,Dockerfile、 Docker映象與Docker容器分別代表軟體的三個不同階段,

  • Dockerfile是軟體的原材料
  • Docker映象是軟體的交付品
  • Docker容器則可以認為是軟體的執行態。

Dockerfile面向開發,Docker鏡 像成為交付標準,Docker容 器則涉及部署與運維,三者缺- -不可,合力充當Docker體系的基石。

1、Dockerfile,需要定義一個Dockerfile,Dockerfile定 義了程序需要的一切東西。Dockerfile涉 及的內容包括執行程式碼或者是檔案、環境變數、依賴包、執行時環境、動態連結庫、作業系統的發行版、服務程序和核心程序(當應用程序需要和系統服務和核心程序打交道,這時需要考慮如何設計namespace的許可權控制)等等;

2、Docker映象,在用Dockerfile定義一檔案之後,docker build時會產生- -個Docker映象,當執行Docker映象時,會真正開始提供服務;

3、Docker容器,容器是直接提供服務的。