該命令將復制指定的 <src> 到容器中的 <dest>。 其中 <src> 可以是Dockerfile所在目錄的一個相對路徑;也可以是一個 URL;還可以是一個 tar 文件(自動解壓為目錄)。

COPY

格式為 COPY <src> <dest>。
復制本地主機的 <src>(為 Dockerfile 所在目錄的相對路徑)到容器中的 <dest>。

當使用本地目錄為源目錄時,推薦使用 COPY。

ENTRYPOINT

兩種格式:

配置容器啟動后執行的命令,并且不可被 docker run 提供的參數覆蓋。

每個 Dockerfile 中只能有一個 ENTRYPOINT,當指定多個時,只有最后一個起效。

VOLUME

格式為 VOLUME [“/data”]。

創建一個可以從本地主機或其他容器掛載的掛載點,一般用來存放數據庫和需要保持的數據等。

USER

格式為 USER daemon。

指定運行容器時的用戶名或 UID,后續的 RUN 也會使用指定用戶。

當服務不需要管理員權限時,可以通過該命令指定運行用戶。并且可以在之前創建所需要的用戶

例如:RUN groupadd -r postgres && useradd -r -g postgres postgres。要臨時獲取管理員權限可以使用 gosu,而不推薦 sudo

WORKDIR

格式為 WORKDIR /path/to/workdir。

為后續的 RUN、CMD、ENTRYPOINT 指令配置工作目錄。

可以使用多個 WORKDIR 指令,后續命令如果參數是相對路徑,則會基于之前命令指定的路徑。例如

WORKDIR /a 
WORKDIR b 
WORKDIR c 
RUN pwd 
則最終路徑為 /a/b/c。

ONBUILD

格式為 ONBUILD [INSTRUCTION]。

配置當所創建的鏡像作為其它新創建鏡像的基礎鏡像時,所執行的操作指令。

例如,Dockerfile 使用如下的內容創建了鏡像 image-A。

[...]
ONBUILD ADD . /app/src
ONBUILD RUN /usr/local/bin/python-build --dir /app/src
[...]

如果基于 image-A 創建新的鏡像時,新的Dockerfile中使用 FROM image-A指定基礎鏡像時,會自動執行 ONBUILD 指令內容,等價于在后面添加了兩條指令。

FROM image-A

#Automatically run the following
ADD . /app/src
RUN /usr/local/bin/python-build --dir /app/src

使用 ONBUILD 指令的鏡像,推薦在標簽中注明,例如 ruby:1.9-onbuild

創建鏡像

編寫完成 Dockerfile 之后,可以通過 docker build 命令來創建鏡像。

docker build -t 鏡像名字 .
// 注意 . 不能忘。

下面兩個Dockerhub上的Dockerfile的例子。

# Nginx
#
# VERSION 0.0.1
FROM ubuntu
MAINTAINER Victor Vieux <victor@docker.com>
RUN apt-get update && apt-get install -y inotify-tools nginx apache2 openssh-server
# 在ubuntu的父鏡像基礎上安裝inotify-tools,nginx,apache2,openssh-server,從而創建一個新的Nginx鏡像。
# Firefox over VNC
#
#VERSION 0.3
FROM ubuntu
# Install vnc,xvfb in order to create a 'fake' display and firefox
RUN apt-get update && apt-get install -y x11vnc firefox
RUN mkdir /.vnc
# Setup a pssword
RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
#Autostart firefox
RUN bash -c 'echo "firefox" >> /.bashrc'
EXPOSE 5900
CMD ["x11vnc", "-forever", "-usepw", "-create"]
# 基于ubuntu父鏡像,安裝firefox和vnc軟件,啟動后,用戶可以通過5900端口通過vnc方式使用firefox。
贊(4)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » Dockerfile指令與基本結構

登錄

找回密碼

注冊

主站蜘蛛池模板: 蜜桃av无码免费看永久| 免费无遮挡无码永久在线观看视频| 色老头亚洲成人免费影院| 色欲天天综| 无码人妻丰满熟妇区BBBBXXXX| 亚洲国产午夜理论片不卡| 狠狠躁天天躁日日躁躁躁| 亚洲精品无码aⅴ中文字幕蜜桃| 一区二区三区AV波多野结衣| 国产美女久久久久| 无码精品国产VA在线观看DVD| 2021久久精品国产99国产精品| 久久精品国产国产精品四凭| 欧美z0zo人禽交另类视频| 欧美三级电影网站| 亚洲AV无码久久久久网站蜜桃| 日韩有码精品中文字幕| 91丨九色丨人妻丨白浆| 天美免费mv观看| 久久国产自偷自免费一区| 婷婷伊人网| 午夜熟妇乱子伦A视频| 亚洲一区成人av在线| 国产区一区二区现看视频| 成人区人妻精品一| 无遮挡边摸边吃奶边做的视频刺激| 性欧美暴力猛交69hd| 日韩免费av在线播放| 日无码视频| 国产四虎永久免费观看| 国产伦精品一区二区三区| 免费网站观看www在线观| 97久久综合精品久久久综合| 国产女主播强伦视频网站 | 富源县| 亚洲国产欧美在线人成人| 亚洲男人第一无码av网站| 国产夜射| 亚洲综合精品伊人久久| 99视频精品在线| 18禁无遮拦无码国产在线播放|