1. 程式人生 > >Docker -- dockerFile指令說明

Docker -- dockerFile指令說明

Dockerfile 是一個文字格式的配置檔案,使用者可以使用Dockerfile來快速建立自定義映象。

指令集的功能說明

指令 說明
FROM 指定所建立映象的基礎映象
MAINTAINER 指定維護者資訊
RUN 執行命令
CMD 指定啟動容器時預設執行的命令
LABEL 指定生成映象的元資料標籤資訊
EXPOSE 宣告映象內服務所監聽的埠
ENV 指定環境變數
ADD 賦值指定的< src > 路徑下的內容到容器中的<dest>
路徑下,<src>可以為URL;如果為tar檔案,會自動解壓到<dest>路徑下
COPY 複製本地主機的<src>路徑下的內容到映象中的<dest>路徑下;一般情況下推薦使用COPY,而不是ADD
ENTRYPOINT 指定映象的預設入口
VOLUME 建立資料卷掛在點
USER 指定執行容器時的使用者名稱或UID
WORKDIR 配置工作目錄
ARG 指定映象內使用的引數(例如版本號資訊等)
ONBUILD 配置當前所建立的映象作為其他映象的基礎映象時,所執行的建立操作指令
STOPSIGNAL 容器退出的訊號值
HEALTHCHECK 如何進行健康檢查
SHELL 指定使用shell時預設shell型別

詳細介紹

  • FROM
    制定所建立映象的基礎映象,如果本地不存在,則預設會去Docker Hub下載指定映象。格式為FROM<image>,或FROM<image>:<tag>,或FROM<image>@<digest>
    注意:任何Dockerfile中的第一條指令必須為FROM指令,並且,如果在同一個Dockerfile中建立多個映象,可以使用多個FROM指令(每個映象一次)。

  • MINTAINER
    指定維護者資訊,格式為MAINTAINER<name>
    eg:
    MAINTAINER [email protected]
    該資訊會寫入生成映象的Author屬性域中

  • RUN
    執行指定命令
    格式為RUN<command>RUN ["executable", "param1" , "param2"]。注意 後一個指令會被解析成Json陣列。因此必須使用雙引號。
    注意: 前者預設將在shell終端中執行命令,即/bin/sh -c;後者則使用exec執行,不會啟動shell環境。

  • CMD
    CMD指令用來指定啟動容器預設執行的命令。支援如下3種形式
    s

    1. CMD ["executable","param1","param2"]使用exec執行,是推薦使用的。
    2. CMD command param1 param2/bin/sh中執行,提供給需要互動的應用。
    3. CMD ["param1" ,"param2"]提供給ENTRYPOINT的預設引數。
      注意:每個Dodckerfile 只能有一條CMD命令,如果指定了多條命令,只有最後一條會被執行。
  • LABEL
    LABEL 指令用來指定生成映象的元資料標籤資訊。
    格式為LABEL <KEY>=<VALUE> .....
    eg:
    LABEL version = "1.0"
    LABEL description = "This text illustrates ...."

  • EXPOSE
    宣告映象內服務所監聽的埠。
    格式為EXPOSE <port > [<posrt> ... ]
    eg:
    EXPOSE 22 80 8443
    注意:該指令只能宣告作用,並不會自動完成埠對映。

  • ENV
    指定環境變數,在映象生成過程中會被後續RUN指令使用,在映象啟動的容器中也存在。
    格式為:ENV<key><value>ENV<key> = <value> ...

  • ADD
    該命令將複製指定的<src>路徑下的內容到容器中的<dest>路徑下。
    格式為:ADD<src> <dest>.

注意:其中Dockerfile所在目錄的一個相對路徑(檔案或目錄),也可以是一個URL,還可以是tar檔案。支援正則表示式

  • COPY

與ADD相似,推薦使用COPY在操作本地目錄為源目錄時候。

  • ENTRYPOINT
    指定映象的預設入口命令,該入口命令會在啟動容器時作為根命令執行,所有傳入值作為該命令的引數。
    支援兩種格式:
    ENTRYPOINT ["executable" , "param1" , "param2"](exec呼叫執行)
    ENTRYPOINT command param1 param2(shell 執行)。**
    注意:每個Dockerfile只能有一個ENTRYPOINT,當指定多個時候,只有最後一個有效。

  • VOLUME
    建立一個數據卷掛在點。
    格式為:VOLUME ["/data"]
    可以從本地主機或其他容器掛載資料卷,一般用來存放資料庫和需要儲存的資料等。

  • WORKDIR
    為後續RUN,CMD和ENTRYPOINT指令配置工作目錄。
    格式為:WORKDIR /path/to/workdir

  • STOPSIGNAL
    指定所建立的映象啟動的容器接受退出的訊號值。
    STOPSIGNAL signal

相關推薦

Docker Dockerfile 指令

zip 所在 time 14.04 docker 影響 就是 com mkdir -p Dockerfile 指令 CMD CMD指令用於指定一個容器啟動時要運行的命令。這有點兒類似於RUN指令,只是RUN指令是指定鏡像被構建時要運行的命令,而CMD是指定容器被啟動時要運行

Docker(Dockerfile指令)

1.Docker指令介紹 FROM 指定 base 映象(前面說過,比如ubuntu,centos等)。 MAINTAINER 設定映象的作者,可以是任意字串。 COPY 將檔案從 build context(image自己的目錄) 複製到映象。

Docker -- dockerFile指令說明

Dockerfile 是一個文字格式的配置檔案,使用者可以使用Dockerfile來快速建立自定義映象。 指令集的功能說明 指令 說明 FROM

Docker Dockerfile 指令詳解與實戰案例

  Dockerfile介紹及常用指令,包括FROM,RUN,還提及了 COPY,ADD,EXPOSE,WORKDIR等,其實 Dockerfile 功能很強大,它提供了十多個指令。   Dockerfile介紹 Dockerfile 是一個用來構建映象的文字檔案,文字內容包含了一條條

DockerDockerfile指令

Dockerfile指令 (1) CMD 用於指定一個容器啟動時要執行的命令. 類似RUN 指定要執行的特定命令 sudo docker run -i -t hiekay/static_web /bin/true 使用CMD CMD [

docker學習筆記16:Dockerfile 指令 ADD 和 COPY介紹

一、ADD指令 ADD指令的功能是將主機構建環境(上下文)目錄中的檔案和目錄、以及一個URL標記的檔案 拷貝到映象中。 其格式是: ADD  源路徑  目標路徑 如: #test FROM ubuntu MAINTAINER hello ADD test1.txt t

docker學習筆記18:Dockerfile 指令 VOLUME 介紹

在介紹VOLUME指令之前,我們來看下如下場景需求: 1)容器是基於映象建立的,最後的容器檔案系統包括映象的只讀層+可寫層,容器中的程序操作的資料持久化都是儲存在容器的可寫層上。一旦容器刪除後,這些資料就沒了,除非我們人工備份下來(或者基於容器建立新的映象)。能否可以讓容器程序持久化的資料儲存在主機上呢?這

docker學習之常用Dockerfile指令

今天我們學習幾個常用的Dockerfile指令,在 http://docs.docker.com/reference/builder/可以檢視Dockerfile中能使用的全部指令的清單。 一、CMD指令 CMD指令用於指定一個容器啟動時要執行的命令,這與R

Docker學習 > Dockerfile指令詳解

目錄 Dockfile指令詳解 1. COPY 複製檔案 2. ADD 更高階的複製檔案 3. CMD 容器啟動命令 Dockfile指令詳解 Dockerfile 功能強大,提供了10多個指令。 1

Docker--Dockerfile引用及指令集的功能用法

使用 令行 top work 保存 指令集 ram 用法 入口 Dockerfile引用的官網文檔:https://docs.docker.com/engine/reference/builder/編寫Dockerfiles的最佳實踐的官網文檔:https://docs.d

docker dockerfile ubuntusshd

docker dockerfile ubuntusshd #Dockerfile FROM ubuntu:14.04 MAINTAINER gaogd<[email protected]/* */> RUN rm -rf /var/lib/apt/lists RUN cp /etc/

Dockerfile指令總結

dockerfile指令總結指令的一般格式為INSTRUCTION arguments,指令包括FROM、MAINTAINER、RUN等。FROM格式為FROM <image>或FROM <image>:<tag>。第一條指令必須為FROM指令。並且,如果在同一個Docke

docker--Dockerfile--java

local pri -- lan tin nta bash doc nload # AlpineLinux with a glibc-2.26-r0 and Oracle Java 7FROM alpine:3.6 MAINTAINER Anastas Dancha &l

docker-dockerfile使用

from 維護 gpo path with 添加 work usr stub 使用 centos基礎鏡像, 構建dockerfile-ngix 簡單說, 就是把需要做的東西寫下來, 然後build的時候, 自動運行 一般包含:    基礎鏡像信息 維護者信息 鏡像操作指令

Docker-Dockerfile格式

url daemon 掛載點 自動分配 ins mysq 活著 pos IT 1、FROM //指定基於那個基礎鏡像 格式FROM<image>或者FROM<image>:<tag> 例如: FROM centos FROM centos

Dockerfile指令介紹

容器技術創建Docker鏡像的方式有三種1、docker commit命令:由容器生成鏡像;2、Dockerfile文件+docker build命令;3、從本地文件系統導入:OpenVZ的模板。 1. Dockerfile主要指令簡介 Dockerfile 由一行行命令語句組成,並且支持以 # 開頭的註釋

DockerfileDockerfile指令

env .tar.gz nta rfi start.s 容器 tar HA .sh FROM 基於那個鏡像構建容器 例:centos:7 任何Dockerfile的第一條指令必須為FROM指令MAINTAINER 鏡像維護者信息 例:unixzhang <220554

Dockerfile 指令詳解

art 直接 上下 復制 並不會 文件的 pan 環境變量 inter 使用Dockerfiledocker build [選項] <上下文路徑/URL/->其他構建方法直接用Git repo 進行構建用給定的tar壓縮包構建從標準輸入中讀取Dockerfile

dockerfile指令(四)

服務 宋體 cmd 創建 ops psi colspan 變量 col dockerfile: 使用dockerfile快速創建自定義鏡像。 支持以#開頭的註釋行。 分為4部分: 基礎鏡像信息。 維護者信息。 鏡像操作指令。 容器啟動時執行指令

三分鐘掌握docker基本指令

mysql `` ren 器) ner 定義 java 3.2 cli 一下內容是我用markdown編輯的,所以排版不是太ok~ # Docker ## 1.核心概念 docker主機(Host):安裝了docker程序的機器。docker直接安裝再操作系統上。 do