Docker之使用Dockerfile創建指令

1、基本結構

Dockerfile由一行行命令語句組成,並支持以#開頭的註釋行。例如

# This dockerfile uses the ubuntu image
# VERSION 2 - EDITION 1
# Author: docker_user
# Command format: Instruction [arguments / command ] ..

# Base image to use, this nust be set as the first line
FROM ubuntu

# Maintainer: docker_user <docker_user at email.com> (@docker_user)
MAINTAINER docker_user docker_user@email.com

# Commands to update the image
RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list
RUN apt-get update && apt-get install -y nginx
RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf

# Commands when creating a new container
CMD /usr/sbin/nginx

其中,開始必須指明所基於的鏡像名稱,接下來一般是說明維護者信息。後面則是鏡像操作指令,例如RUN指令,RUN指令將對鏡像執行跟隨的命令。每運行一條RUN指令,鏡像就添加新的一層,並提交。最後是CMD指令,用來指定運行容器時的操作命令。

2. 指令說明

指令的一般格式爲INSTRUNCTION arguments,指令包括FROM、MAINTAINER、RUN等。具體指令及說明如下:

指令 說明
FROM 指定所創建鏡像的基礎鏡像
MAINTAINER 指定維護者信息
RUN 運行命令
CMD 指定啓動容器時默認執行的命令
LABEL 指定生成鏡像的元數據標籤信息
EXPOSE 聲明鏡像內服務所監聽的端口
ENV 指定環境變量
ADD 賦值指定的<src>路徑下的內容到容器中的<dest>路徑下,<src>可以爲URL;如果爲tar文件,會自動解壓到<dest>路徑下
COPY 賦值本地主機的<scr>路徑下的內容到容器中的<dest>路徑下;一般情況下推薦使用COPY而不是ADD
ENTRYPOINT 指定鏡像的默認入口
VOLUME 創建數據掛載點
USER 指定運行容器時的用戶名或UID
WORKDIR 配置工作目錄
ARG 指定鏡像內使用的參數(例如版本號信息等)
ONBUILD 配置當前所創建的鏡像作爲其他鏡像的基礎鏡像時,所執行的創建操作的命令
STOPSIGNAL 容器退出的信號
HEALTHCHECK 如何進行健康檢查
SHELL 指定使用SHELL時的默認SHELL類型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章