真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker基礎(4)——Dockerfile書寫

云計算

Docker中制作鏡像一共有兩個方法:

創(chuàng)新互聯(lián)服務項目包括西湖網(wǎng)站建設、西湖網(wǎng)站制作、西湖網(wǎng)頁制作以及西湖網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,西湖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到西湖省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

1. 基于容器制作鏡像:

2. 基于Dockerfile制作鏡像;

docker build …

Dockerfile的制作步驟:

1.創(chuàng)建一個目錄;

2.在目錄中創(chuàng)建一個首字母大寫的文件,供docker build識別;

3.因為Dockerfile的執(zhí)行環(huán)境在創(chuàng)建的目錄中,所以可以創(chuàng)建相對應的文件,供dockerfile使用;

ex:

[root@master~]#lsdocimage
Dockerfileindex.html
[root@master~]#catdocimage/Dockerfile
FROMbusybox:latest

LABELmaintainer="hevttc"

ENVDOC_ROOT="/tmp/"\\
VOLUME_ROOT="/data/mydata"\\
ARGU="/usr/sbin/"

COPYindex.html/tmp/

VOLUME${VOLUME_ROOT}

RUNifconfig-a&&\\
cat${DOC_ROOT}index.html

Dockerfile書寫格式:

Dockerfile Format

“#”開頭的行是注釋行(可以多行,任意位置);

INSTRUCTION arguments

Docker是順序執(zhí)行Dockerfile中的內(nèi)容,注意書寫順序;

Dockerfile中幾個重要的指令:

1.FROM (指定基準鏡像)

2.LABEL(寫入當前Dockerfile的制作者信息);

3.COPY(將宿主機的文件拷貝至鏡像中);

4.ADD(類似于COPY指令,支持TAR文件和URL路徑);

5.WORKDIR(用于為Dockerfile中所有的RUN, CMD, ENTRYPOINT, COPY和ADD指定設定工作目錄;);

6.VOLUME(用于在image中創(chuàng)建一個掛載點目錄,可以用于在Docker Host上掛載卷);

個人并不建議使用:這是Docker daemon創(chuàng)建托管卷,并不是綁定掛載;

7.EXPOSE(為容器打開要監(jiān)聽的端口,實現(xiàn)與外部的通信);

EXPOSE [/] [/] [/] …

用于指定傳輸層協(xié)議,可為TCP或UDP二者之一,默認為TCP;

8.ENV(為鏡像定義環(huán)境變量,可以被其他指令調(diào)用,build_time和run_time都可被使用);

調(diào)用格式:

$variable_name或${variable_name}

9.ARG (在創(chuàng)建鏡像是build_time使用的變量,一般用ARG寫版本號和作者);

10.RUN(用于指定Docker build過程中運行的程序);

11.CMD(類似于RUN命令,在run_time執(zhí)行);

12.ENTRYPOINT(類似于CMD指令)

[root@master~]#catdocimage1/entrypoint.sh
#!/bin/sh

exec$@
[root@master~]#catdocimage1/Dockerfile
FROMnginx:1.14-alpine

COPYentrypoint.sh/bin/

CMD["/usr/local/nginx","-g","daemonoff;"]

ENTRYPOINT["/bin/entrypoint.sh"]
[root@master~]#lldocimage1/
總用量8
-rw-r--r--1rootroot12911月120:42Dockerfile
-rwxr-xr-x1rootroot1911月120:16entrypoint.sh

命令執(zhí)行圖

創(chuàng)建一個Dockerfile;

[root@www~]#mkdirdocimage
[root@www~]#vimdocimage/Dockerfile
[root@www~]#
[root@www~]#vimdocimage/test.txt
[root@www~]#catdocimage/Dockerfile
FROMnginx:1.14-alpine

LABELmaintainer="liujingyu"

ENVDOC_ROOT="/tmp"\\
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創(chuàng)建鏡像:

[root@www~]#dockerbuilddocimage/-tljymyy/nginx:v0.2
SendingbuildcontexttoDockerdaemon3.072kB
Step1/7:FROMnginx:1.14-alpine
--->77bae8d00654
Step2/7:LABELmaintainer="liujingyu"
--->Usingcache
--->a012ac4c6f51
Step3/7:ENVDOC_ROOT="/tmp"VOLUME_ROOT=/data/mydata
--->Usingcache
--->ee6ed363bfde
Step4/7:COPYtest.txt${DOC_ROOT}
--->Usingcache
--->a416671fde2a
Step5/7:VOLUME${VOLUME_ROOT}
--->Usingcache
--->84bf38b22301
Step6/7:RUNecho123>${DOC_ROOT}/test.txt
--->Usingcache
--->756cd9857096
Step7/7:CMDcat${DOC_ROOT}/test.txt
--->Runningina2f99fcc5fba
Removingintermediatecontainera2f99fcc5fba
--->dac468a636e0
Successfullybuiltdac468a636e0
Successfullytaggedljymyy/nginx:v0.2
[root@www~]#dockerimagels
REPOSITORYTAGIMAGEIDCREATEDSIZE
ljymyy/nginxv0.2dac468a636e02minutesago17.7MB

運行此鏡像:

[root@www~]#dockercontainerrun--rm--namengx1ljymyy/nginx:v0.2
123


網(wǎng)站題目:Docker基礎(4)——Dockerfile書寫
本文來源:http://weahome.cn/article/cjscds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部