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

Dockerfile指令

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

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


Ru1RZj%h!Tj0

Dockerfile指令:51Testing软件测试网:e,dH}(y?Le

1、FROM

H B:v%F R"|-Ic's[0

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

nt/bH*h x0

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

2、MAINTAINET

\;^&i j#F.p0Z ?0

格式:MAINTAINET <name>

1r$G:k4rIT_*Jw0

指定维护者的信息51Testing软件测试网m+a:]4v0t$ltE?u

3、RUN

5f6EA Di"yK?*u/O0

格式:RUN <command> 或 RUN ["", "", ""]

8Gy S@"v1QBB0

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

]$["C4t3L#N0

4、CMD

:x+g,s u@ j2W `0

格式:CMD ["","",""]

Hyk k`-F0

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

;I z2VG%E3VLn0

5、EXPOSE51Testing软件测试网~U,d4t1Uaq7r

格式:EXPOSE <port>  [ <port> ...]51Testing软件测试网n0]0p,sJPG2Kl%zy

告诉Docker服务端暴露端口,在容器启动时需要通过 -p 做端口映射51Testing软件测试网XWL%\P9se
51Testing软件测试网,I F l:F$n+^#uI

6、ENV

]y5gc xuq0

格式:ENV <key> <value>51Testing软件测试网 F#{^%g9f-\

指定环境变量,会被RUN指令使用,并在容器运行时保存51Testing软件测试网*cJ9J(?L+u

7、ADD

4tj Las,` JN0

格式:ADD  <src>  <dest>

"AN$D5r2S0

复制指定的<src>到容器的<dest>中,<src>可以是Dockerfile所在的目录的一个相对路径;可以是URL,也可以是tar.gz(自动解压)

'S.pt"}*m3MGDx0

8、COPY

*g7@{2]%Q0

格式:COPY <src>  <dest>51Testing软件测试网XU"aD6h x

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

-}4ISV}l4^;k3PC0

9、ENTRYPOINT51Testing软件测试网t u XVwYU;@/S

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

6T!Yp){Js W;x\0

配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。(每个 Dockerfile 中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效)

"~e4hS ?7z3`| M0

10、VOLUME

F.m^4ey#F$h0

格式:VOLUME ["/mnt"] 51Testing软件测试网 Jv vL!c&pK

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

Z"`G*_#|8Y/V8Cg0

11、USER
7c.k&|S C.w X^0
51Testing软件测试网e+r;t4ik

格式:USER daemon

|ux*I2?0

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

1AF,TO7MT:Rw0

12、WORKDIR

D%O x X [$WG ?JF0

格式:WORKDIR /path/to/workdir51Testing软件测试网9O*AM3zy bQ*RT6Hj

为后续的 RUN 、 CMD 、 ENTRYPOINT 指令配置工作目录。(可以使用多个 WORKDIR 指令,后续命令如果参数是相对路径, 则会基于之前命令指定的路径)51Testing软件测试网 Nv g:c(V] qn

13、ONBUILD

9`0w`L1o'MH-U0

格式:ONBUILD [INSTRUCTION]

]+mj_`0

配置当所创建的镜像作为其它新创建镜像的基础镜像时,所执行的操作指令

@(v{4jA gp2r0


C]_],V#g"g0

\"y7alS5o-J%@9J0

51Testing软件测试网$Dyg6Og.n

[root@docker docker_demo]# cat Dockerfile 51Testing软件测试网~M;A sLpU\F

# base image51Testing软件测试网!|ew_3v{xc

FROM centos51Testing软件测试网j0l i3Glfp

51Testing软件测试网 Yz)J(n U
51Testing软件测试网Y7X"U ji;R

# MAINTAINER

)AA)l7wt*j0

MAINTAINER json_hc@163.com51Testing软件测试网4_\#Q,S+Oc,_!^

51Testing软件测试网*P x1D.I)t2cuP&VwR
51Testing软件测试网J6Q,Z1x.|&[w a N Jw

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx51Testing软件测试网!O2De\!x1v e:GoZ

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

jJ@/T ~0


I3aH+g|D$Dl0

X:dE-t^(H)d-QgF0

# running required command51Testing软件测试网5|&z.S_0kDR5z

RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel 

\ ?~N3Qcow1g1@0

RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel

9eSfJ,P#|],W\ a.v!]0

RUN useradd -M -s /sbin/nologin nginx51Testing软件测试网p"K5} }.l

51Testing软件测试网5h"nZ X*H&}$P1Bk
51Testing软件测试网*B"rd!i\,b1fG

# change dir to /usr/local/src/nginx-1.12.251Testing软件测试网(aY{_$^"ziI\}Z

WORKDIR /usr/local/src/nginx-1.12.251Testing软件测试网.D3r%Q9e,e jfv2]

51Testing软件测试网:q(B }-[ g"F:Y

)V)t'scjW+H9k k0

# execute command to compile nginx

]6K.\-]:k4?'e)N.y,T0

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 install51Testing软件测试网0r8i yk](|9S

51Testing软件测试网A[+g&g,UJaR

D!z;X8v%a0

ENV PATH /usr/local/nginx/sbin:$PATH51Testing软件测试网vC#sIh$O9U S6I`Th0D

51Testing软件测试网){GQk$z`

C:t2K8Tfr/g0

EXPOSE 8051Testing软件测试网/V5XV)InBv$A(S `

51Testing软件测试网[/_%Fo;p4z

[T I(~[X051Testing软件测试网2O xI+d%Z.D\(jHI


TAG:

 

评分:0

我来说两句

Open Toolbar