【轉載】Dockerfile文件詳解

什麼是dockerfile?

Dockerfile是一個包含用於組合映像的命令的文本文檔。能夠使用在命令行中調用任何命令。 Docker經過讀取Dockerfile中的指令自動生成映像。html

docker build命令用於從Dockerfile構建映像。能夠在docker build命令中使用-f標誌指定要使用的Dockerfile路徑docker

例:網絡

docker build -f /root/dockerfiles

Dockerfile的基本結構

Dockerfile 通常分爲四部分:基礎鏡像信息、維護者信息、鏡像操做指令和容器啓動時執行指令,’#’ 爲 Dockerfile 中的註釋。app

Dockerfile文件說明

Docker以從上到下的順序運行Dockerfile的指令。爲了指定基本映像,第一條指令必須是FROM。一個聲明以字符開頭則被視爲註釋。能夠在Docker文件中使用RUNCMDFROMEXPOSEENV等指令。ui

 

在這裏列出了一些經常使用的指令^-^spa

  • FROM:指定基礎鏡像,必須爲第一個命令

  • MAINTAINER: 維護者信息
  • RUN:構建鏡像時執行的命令
  • ADD:將本地文件添加到容器中,tar類型文件會自動解壓(網絡壓縮資源不會被解壓),能夠訪問網絡資源,相似wget
  • COPY:功能相似ADD,可是是不會自動解壓文件,也不能訪問網絡資源
  • CMD:構建容器後調用,也就是在容器啓動時才進行調用。
  • ENTRYPOINT:配置容器,使其可執行化。配合CMD可省去"application",只使用參數。
  • LABEL:用於爲鏡像添加元數據
  • ENV:設置環境變量
  • EXPOSE:指定於外界交互的端口
  • VOLUME:用於指定持久化目錄
  • WORKDIR:工做目錄,相似於cd命令
  • USER : 指定運行容器時的用戶名或 UID,後續的 RUN 也會使用指定用戶。使用USER指定用戶時,能夠使用用戶名、UID或GID,或是二者的組合。

        當服務不須要管理員權限時,能夠經過該命令指定運行用戶。而且能夠在以前建立所須要的用戶命令行

  • ARG:用於指定傳遞給構建運行時的變量
  • ONBUILD:用於設置鏡像觸發器

 

最後用一張圖解釋經常使用指令的意義^-^code

 

詳細原文:http://www.javashuo.com/article/p-xaajfgxj-du.html

相關文章
相關標籤/搜索