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種形式
sCMD ["executable","param1","param2"]
使用exec執行,是推薦使用的。CMD command param1 param2
在/bin/sh
中執行,提供給需要互動的應用。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 是一個用來構建映象的文字檔案,文字內容包含了一條條
Docker 的Dockerfile指令
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 由一行行命令語句組成,並且支持以 # 開頭的註釋
Dockerfile之Dockerfile指令
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