陈奇网络工作室

文档基础(4)——文档文件写入

云计算

在docker中创建镜像有两种方法。

1 .基于容器创建镜像:

文档提交…

基于文档文件创建镜像

文档构建…

创建文档文件的步骤:

1 .创建目录

在目录中创建首字母大写的文件,以便docker build可以识别

3.Dockerfile的运行环境位于创建的目录中,可以创建相应的文件并在dockerfile中使用;

ex :

[root@master~]#lsdocimage

Dockerfileindex.html

[ root @ master~] # catdocimage/docker file

FROMbusybox:latest

标签主=& amp; #039; hevttcljy@163.com& #039;

ENVDOC_ROOT=& #039; /tmp/& #039; \\\\& quot;

VOLUME_ROOT=& #039; /data/mydata& #039; \\\\& quot;

ARGU=& #039; /usr/sbin/& #039;

COPYindex.html/tmp/

VOLUME${VOLUME_ROOT}

RUNifconfig-a\\\\

cat${DOC_ROOT}index.html

文档文件写入格式:

文档文件格式

“#”的第一行是注释行(可以是多行,可以是任意位置);

INSTRUCTION arguments

与命令对应参数、推荐命令可以是大写,参数可以是小写,默认的大小写都可以;

可以用一行命令完成,尽量不用多行命令;

第一行可执行指令必须是FROM指令;

文档生成器按顺序执行文档文件的内容,注意书写顺序

文档文件的几个重要命令:

1 .从(指定基准镜像) )。

来自资料档案库|:tag或

FROM repository@digest

资料档案库:指定base image的名称;

标签:基本图像的标签。 (可选)如果省略,则默认为latest;

2 .标签(写入当前文档文件的作者信息);

labelkey=value key=value key=value…

3 .复制(将宿主机上的文件复制到镜像);

COPY src … dest或COPY [& #039; src& #039;… & #039; dest& #039; ]

src :支持使用要复制的源文件或目录、通配符;

dst )目标路径,即要创建的image的文件系统路径; dest建议使用绝对路径。 否则,COPY规范将WORKDIR作为开始路径。

注:如果路径中有空格,通常使用第二种格式。

4.add (与copy命令类似,支持TAR文件和URL路径);

ADD src … dest或ADD [& #039; src& #039;… & #039; dest& #039; ]

注意:

src为URL且dest为& #039; /& #039; 如果未以结尾,则src指定的文件将被下载并直接创建为dest。 dest为& #039; /& #039; 如果以结尾,则下载由文件名URL指定的文件,并删除/文件名称;

如果src是本地系统上的压缩tar文件,则为& #039; tar -x& #039; 它将展开到一个像命令一样工作的目录中。 但是,通过URL获取的tar文件不会自动展开。

如果有多个src,或者间接或直接使用通配符,则dest为& #039; /& #039; 它必须是以结尾的目录路径。 dest为& #039; /& #039; 否则,它将被视为普通文件,src内容将直接写入dest;

5.workdir (用于指定docker文件中所有RUN、CMD、ENTRYPOINT、COPY和ADD的配置工作目录; );

工作直接路径

WORKDIR命令在Dockerfile文件中可能出现多次,其路径可以是相对路径,但为上一个WORKDIR命令指定的路径。

WORKDIR还可以调用具有ENV指定定义的变量;

6.volume (可用于在image上创建装入点目录,并在Docker Host上装入卷);

VOLUME mountpoint或VOLUME [& #039; mountpoint& #039; ]

我个人不推荐。 这是Docker daemon创建管理卷,而不是绑定装载。

7.EXPOSE (为容器打开侦听端口并实现与外部的通信);

expose port [/protocol ] port [/protocol ] port [/protocol ]…

protocol用于指定传输层协议,可以是TCP或UDP,缺省值为TCP。

8.ENV (为镜像定义环境变量,可以在其他命令中调用,build_time和run_time均可用);

ENV key value或ENV key=value…

调用格式:

$variable_name或${variable_name}

9.ARG ( build _ time用于创建镜像的变量,版本号和作者一般用arg编写);

ARG name[=default value]

10.run (用于指定在docker build中运行的程序);

RUN command或

RUN [& #039; excutable& #039;& #039; param1& #039;& #039; param2& #039;…](json数组)

11.cmd (像run命令一样,在run_time中执行);

CMD command或

CMD [& #039; excutable& #039;& #039; param1& #039;& #039; param2& #039;…]或

CMD [& #039; param1& #039;& #039; param2& #039;…) ) ) ) )。

12 .进入点(类似于cmd指令) ) ) )。

进入点命令

进入点[ & amp; #039; excutable& #039;& #039; param1& #039;& #039; param2& #039;…]

[ root @ master~] # catdocimage1/entry point.sh

#! /bin/sh

exec$@

[ root @ master~] # catdocimage1/docker file

FROMnginx:1.14-alpine

COPYentrypoint.sh/bin/

CMD[& #039; /usr/local/nginx& #039;& #039; -g& #039;& #039; 关闭日期; & #039; ]

进入点[ & amp; #039; /bin/entrypoint.sh& #039; ]

[root@master~]#lldocimage1/

总使用量8

-rw-r----r----1rootroot12911月120:42Dockerfile

-rwxr-xr-x1rootroot1911月120日: 16entrypoint.sh

命令执行映射

创建文档文件;

[root@www~]#mkdirdocimage

[ root @ www~] # vimdocimage/docker文件

[root@www~~]#

[ root @ www~] # vimdocimage/test.txt

[ root @ www~] # catdocimage/docker file

FROMnginx:1.14-alpine

标签主=& amp; #039; liujingyuljy_153@163.com& #039;

ENVDOC_ROOT=& #039; /tmp& #039; \\\\& quot;

VOLUME_ROOT=/data/mydata

COPYtest.txt${DOC_ROOT}

VOLUME${VOLUME_ROOT}

RUNecho123${DOC_ROOT}/test.txt

CMDcat${DOC_ROOT}/test.txt

[root@www~~]#

[ root @ www~] # catdocimage/test.txt

THISisDockerTEST;

在Dockerfile中创建镜像:

[ root @ www~] # dockerbuilddocimage/- tljymyy/nginx:v 0.2

sendingbuildcontexttodockerdaemon 3.072 kb

Step1/7:FROMnginx:1.14-alpine

---77bae8d00654

step2/7:标签主=& amp; #039; liujingyuljy_153@163.com& #039;

---Usingcache

---a012ac4c6f51

step3/7:envdoc_root=& #039; /tmp& #039; volume_root=/data/mydata

---Usingcache

---ee6ed363bfde

step4/7: copy test.txt $ { doc _ root }

---Usingcache

---a416671fde2a

Step5/7:VOLUME${VOLUME_ROOT}

---Usingcache

---84bf38b22301

step6/7: run echo 123 $ { doc _ root }/test.txt

---Usingcache

---756cd9857096

step7/7: cmd cat $ { doc _ root }/test.txt

---Runningina2f99fcc5fba

removingintermediatecontainera 2f 99 fc C5 FBA

---dac468a636e0

Successfullybuiltdac468a636e0

successfullytaggedljymyy/nginx:v 0.2

[root@www~]#dockerimagels

repositorytagimageidcreatedsize

ljymyy/nginxv 0.2 DAC 468 a 636 e 02 minutes ago 17.7 MB

运行此镜像:

[ root @ www~~ ] # dockercontainerrun---RM---name ngx1ljymyy/nginx:v 0.2

123

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3