十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

Dockerfile指令

上一篇 / 下一篇  2018-08-25 08:09:51 / 个人分类:docker

文章来源
  • 文章来源:【转载】

51Testing软件测试网a d:n/q$X

Dockerfile指令:51Testing软件测试网2Aq;zhB*DB

1、FROM51Testing软件测试网qv9XZX2t6XP2U4c

格式:FROM <image>或 FROM <image>:<tag>

K[2VLYx/B6g!N0

第一条指令必须为FROM指令,并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)51Testing软件测试网B Ek1Ah4Wc

2、MAINTAINET

U*f [4{*bGO6Cg0

格式:MAINTAINET <name>

:V1a3jTJ&wU0

指定维护者的信息

wa+Ws(i rn4kS0

3、RUN51Testing软件测试网Ba1^Q%X {

格式:RUN <command> 或 RUN ["", "", ""]51Testing软件测试网/NK j v2WV&N,vn

每条指令将在当前镜像基础上执行,并提交为新的镜像。(可以用“\”换行)

N T4oY\r!n.f!X&Z0

4、CMD51Testing软件测试网5@&z]5A)?{R

格式:CMD ["","",""]51Testing软件测试网^ aj0s7`W.^ScQW

指定启动容器时执行的命令,每个Dockerfile只能有一条CMD指令,如果指定了多条指令,则最后一条执行。(会被启动时指定的命令覆盖

)L-q%LtZ^;p#C[0

5、EXPOSE51Testing软件测试网TG#d}u}c0q}"rj

格式:EXPOSE <port>  [ <port> ...]

(F(]X3oD]R2Y'j0

告诉Docker服务端暴露端口,在容器启动时需要通过 -p 做端口映射
;K-x:Evc-C2af6|2p0

6^_4p/U%}d0

6、ENV51Testing软件测试网(RfVc^t

格式:ENV <key> <value>

3z?O&i9y0

指定环境变量,会被RUN指令使用,并在容器运行时保存

Bx(u9c(kx,c0

7、ADD51Testing软件测试网ZcH;X)rD B]5i$y

格式:ADD  <src>  <dest>51Testing软件测试网 mrHf4n

复制指定的<src>到容器的<dest>中,<src>可以是Dockerfile所在的目录的一个相对路径;可以是URL,也可以是tar.gz(自动解压)51Testing软件测试网lM]I"JB

8、COPY51Testing软件测试网 n"v~*fj\6ap

格式:COPY <src>  <dest>51Testing软件测试网6h#t7?#m;_V(@n@

复制本地主机的 <src> ( 为 Dockerfile 所在目录的相对路径)到容器中的 <dest> (当使用本地目录为源目录时,推荐使用 COPY)

yA9K"bL E-ay0

9、ENTRYPOINT51Testing软件测试网,`n'A+?|A[3~

格式:ENTRYPOINT ["","",""]

0IE Qh3i$A/f0

配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。(每个 Dockerfile 中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效)51Testing软件测试网t4dv N E6np:M5x#N%o

10、VOLUME51Testing软件测试网 g@\1K%IJu+Y*q

格式:VOLUME ["/mnt"] 51Testing软件测试网A(cG;R8Ol K?E

创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等

4o,}-n-EYwu$C S d0

11、USER51Testing软件测试网u~ DI.],ZN*@q(c6yj@5g

t4Ib8v~6` l0

格式:USER daemon

D-}N-A.x7J7f@P0

指定运行容器时的用户名或 UID,后续的 RUN 也会使用指定用户。

.x g/f1U+DbN0

12、WORKDIR51Testing软件测试网N3h)T6UGt+rBT4HO

格式:WORKDIR /path/to/workdir

.tzn l'p6@0

为后续的 RUN 、 CMD 、 ENTRYPOINT 指令配置工作目录。(可以使用多个 WORKDIR 指令,后续命令如果参数是相对路径, 则会基于之前命令指定的路径)51Testing软件测试网I$U/Dx4I-BF

13、ONBUILD

/h!RJe9K7I4|0

格式:ONBUILD [INSTRUCTION]

8N]4Y-@o2H+nn5a\0

配置当所创建的镜像作为其它新创建镜像的基础镜像时,所执行的操作指令51Testing软件测试网J6x4AXY&] w

51Testing软件测试网"Oi6P)E_%b4B7s!i l

&c4`EH.e i0

51Testing软件测试网LTo s|^ kW {

[root@docker docker_demo]# cat Dockerfile 

6ZG!z_f/@K^0

# base image51Testing软件测试网"\1pcC ~S"f g

FROM centos51Testing软件测试网O$i7L ]!V/L


1n/V.^Ml!w#F0y051Testing软件测试网_` x/c2F a BM

# MAINTAINER51Testing软件测试网Ih:q em qH{9x:o4~

MAINTAINER json_hc@163.com

X6uZ6L3qFgE0

51Testing软件测试网+W.]T YC
51Testing软件测试网5oDq!n;K2]

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx

9Fu4f6[4@iIqVe0

ADD nginx-1.12.2.tar.gz /usr/local/src

3TL] `9eX0

51Testing软件测试网`(t ^%v8m ikI[

3gng uX.K0

# running required command51Testing软件测试网4M}6gxm5P}{X-g

RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel 51Testing软件测试网:x UINFO9x

RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel51Testing软件测试网|(A6k,ns3|#~6y'aS

RUN useradd -M -s /sbin/nologin nginx51Testing软件测试网-IHb h5l]


]uu O!}'r0

5I,{?h/AKXI0

# change dir to /usr/local/src/nginx-1.12.251Testing软件测试网j X'G"d"j0I X

WORKDIR /usr/local/src/nginx-1.12.251Testing软件测试网0Kx*T5k2GU)]

51Testing软件测试网 LP#Agwr^
51Testing软件测试网CS,V4q3|m{}

# execute command to compile nginx51Testing软件测试网'x }mBsf

RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio  --with-http_ssl_module  --with-http_realip_module    --with-http_addition_module    --with-http_xslt_module   --with-http_image_filter_module    --with-http_geoip_module  --with-http_sub_module  --with-http_dav_module --with-http_flv_module    --with-http_mp4_module --with-http_gunzip_module  --with-http_gzip_static_module  --with-http_auth_request_module  --with-http_random_index_module   --with-http_secure_link_module   --with-http_degradation_module   --with-http_stub_status_module && make && make install

)|2V,X8s h0


K ?7s5It|)k051Testing软件测试网'z Nq?GPh

ENV PATH /usr/local/nginx/sbin:$PATH

tl(y6g ^VT e$E4nT0


Wt:u s6{Bf0W2fC051Testing软件测试网d:r}r1N)m

EXPOSE 8051Testing软件测试网9knY$e2Dfu

51Testing软件测试网E,U"K&WbmKa4G$R

AS.d-^Pg0

-{~\)R8T;UHm0

TAG:

 

评分:0

我来说两句

Open Toolbar