1. 程式人生 > 實用技巧 >Dockerfile指令介紹

Dockerfile指令介紹

看了這麼多指令,感覺有點懵?別擔心,通過一個例項來熟悉它們。這是一個 Dockerfile:

FROM centos:7
COPY nginx.repo /etc/yum.repos.d/nginx.repo
RUN yum install -y nginx
EXPOSE 80
ENV HOST=mynginx
CMD ["nginx","-g","daemon off;"]

逐行分析一下上述的 Dockerfile。

  • 第一行表示我要基於 centos:7 這個映象來構建自定義映象。這裡需要注意,每個 Dockerfile 的第一行除了註釋都必須以 FROM 開頭。
  • 第二行表示拷貝本地檔案 nginx.repo 檔案到容器內的 /etc/yum.repos.d 目錄下。這裡拷貝 nginx.repo 檔案是為了新增 nginx 的安裝源。
  • 第三行表示在容器內執行yum install -y nginx命令,安裝 nginx 服務到容器內,執行完第三行命令,容器內的 nginx 已經安裝完成。
  • 第四行宣告容器內業務(nginx)使用 80 埠對外提供服務。
  • 第五行定義容器啟動時的環境變數 HOST=mynginx,容器啟動後可以獲取到環境變數 HOST 的值為 mynginx。
  • 第六行定義容器的啟動命令,命令格式為 json 陣列。這裡設定了容器的啟動命令為 nginx ,並且添加了 nginx 的啟動引數 -g 'daemon off;' ,使得 nginx 以前臺的方式啟動。

上面這個 Dockerfile 的例子基本涵蓋了常用的映象構建指令。