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

登錄

找回密碼

注冊

主站蜘蛛池模板: 欧美成人h精品网站| 亚洲福利精品一区二区三区| 亚洲欧洲成人a∨在线| 国产在线播放专区av| 三级国产在线观看| 国产精品中文字幕在线| 精品中文字幕人妻一二| 日韩有码中文字幕av| awww在线天堂bd资源在线| 国产乱码精品一区二区三上| 亚洲国产精品一区二区久| 在线看国产精品自拍内射| 亚洲精品www久久久久久| 蜜臀av久久国产午夜| 人妻聚色窝窝人体WWW一区| 国产成人高清在线观看视频| 天天躁夜夜躁天干天干2020| 国产日韩精品欧美一区灰| 激情综合网激情五月我去也| 狠狠cao日日穞夜夜穞av| 亚洲熟妇色自偷自拍另类| 五指山市| 人妻日韩人妻中文字幕| 国产一区精品综亚洲av| 国产乱人激情H在线观看| 国产真人无码作爱免费视频app| 毛片网站在线观看| 一本高清码二区三区不卡| 宁城县| 亚洲成人免费一级av| 亚洲日韩性欧美中文字幕| 国产成人精品亚洲日本在线观看| 久久久久久人妻一区精品| 妇女自拍偷自拍亚洲精品| 五月婷婷中文字幕| 国产精品无码aⅴ嫩草| 亚洲第一区二区三区av| 亚洲人妻精品一区二区| 国产成人无码免费网站| 亚洲熟女国产熟女二区三区| 中文字幕无码专区一VA亚洲V专|