該命令將復制指定的 <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指令與基本結構

登錄

找回密碼

注冊

主站蜘蛛池模板: 丰满少妇被猛烈进出69影院| 亚洲美女av一区二区| 免费无码又爽又刺激网站| 国产成人精品一区二区秒拍1o| 亚洲色欲色欲大片www无码| 国产99久久精品一区二区| 抚州市| 亚洲www永久成人网站| 亚洲成在人线AV品善网好看| 国产精品电影久久久久电影网| 亚洲熟女乱色综合亚洲图片| 岛国av在线播放观看| 国产精品尤物乱码一区二区| 久久亚洲欧美日本精品| 成熟妇女性成熟满足视频| 日韩中文字幕v亚洲中文字幕| 看免费的无码区特aa毛片| 日韩熟女精品一区二区三区| 一区二区中文字幕久久| 黑人大群体交免费视频| 久久精品视频一二三四区| 日产国产一区二区不卡| 隆回县| 少妇被多人c夜夜爽爽av| 国产成人亚洲综合| 宝贝腿开大点我添添公视频免| 国产精品一二三区久久狼| 国产精品亚洲国际在线看| 亚洲av永久无码精品天堂久久| 亚洲伊人久久精品影院| 中字幕人妻一区二区三区| 亚洲国产午夜精品福利| 亚洲加勒比久久88色综合| 女人喷水高潮时的视频网站| 另类国产精品一区二区| 最近中文字幕国产精选| 久久综合老鸭窝色综合久久| 久久人人97超碰精品| 9久9久热精品视频在线观看| 中文字幕亚洲人妻一区| 国产精品老熟女乱一区二区|