亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 使用Dockerfile構(gòu)建docker鏡像

使用Dockerfile構(gòu)建docker鏡像

熱門標(biāo)簽:上海申請高400開頭的電話 麗江真人語音電話外呼系統(tǒng) 河南防封號電銷機器人是什么 福州企業(yè)電銷機器人排名 10086外包用的什么外呼系統(tǒng) 400電話辦理介紹信 宿城區(qū)電話機器人找哪家 怎么找到?jīng)]有地圖標(biāo)注的店 打400電話怎么辦理收費

   今天我們看看Dockerfile創(chuàng)建的方法。

構(gòu)建docker鏡像,有兩種方法:

1、一種是使用docker commit命令

2、另外一種是基于docker build命令和dockerfile文件

    通常情況下,dockerfile構(gòu)建鏡像比docker commit命令構(gòu)建 鏡像更加靈活,因此采用后者較多。

使用Dockerfile構(gòu)建docker鏡像

1、什么是Dockerfile?

    dockerfile是一個文件,它是使用DSL語法編寫一個文件,之后使用docker build命令基于該dockerfile文件中的指令構(gòu)建一個新的鏡像。

    假設(shè)我們的代碼是:

mkdir test

cd test

touch  Dockerfile

   不難看出,我們創(chuàng)建了一個test目錄,并進入目錄創(chuàng)建了dockerfile_test文件,這個目錄就稱之為我們的構(gòu)建環(huán)境,Docker將這個環(huán)境稱之為上下文(context)或者構(gòu)建上下文,Docker會在構(gòu)建鏡像的時候?qū)?gòu)建上下文和上下文中的文件和目錄上傳到Docker 守護進程,這樣Docker守護進程就能直接訪問你在鏡像中存儲的任何代碼、文件或者其他數(shù)據(jù)。

   下面來看一個Docker file的內(nèi)容:

# version: 0.0.1
FROM ubuntu:14.04
MAINTAINER Yeyz  'yeyz@example.com'
RUN apt-get update
RUN apt-get install -y nginx
RUN echo 'Hi, I am your container' > /root/test.html
EXPOSE 80

    從上面的文件內(nèi)容中不難看出來,Dockerfile包含了一系列的命令,每個命令前面都需要用大寫的關(guān)鍵字來進行標(biāo)識。以#開頭的內(nèi)容,會被識別為注釋。

    Docker大體上按照下面的順序來執(zhí)行Dockerfile中的命令,

1、Docker從基礎(chǔ)鏡像運行一個容器,每個DockerFile的第一個命令都應(yīng)該是From,F(xiàn)rom指定了一個基礎(chǔ)鏡像,后續(xù)指令都在這個基礎(chǔ)上執(zhí)行。

2、執(zhí)行一條指令,對容器作出修改

3、執(zhí)行類似docker commit的操作,提交一個新的鏡像層

4、Docker鏡像再基于剛才提交的鏡像運行一個容器

5、執(zhí)行Dockerfile中的下一條指令,知道所有的容器指令都執(zhí)行完成

    上面的過程中,任意一個步驟執(zhí)行失敗,都意味著目標(biāo)鏡像創(chuàng)建失敗,但是因為目標(biāo)鏡像是一個一個鏡像堆積的結(jié)果,其實我們得到了一個可以運行的鏡像,只不過還沒有達到最終的鏡像的樣子,這個特性對于調(diào)試鏡像很重要。

    我們對上面的鏡像進行解釋:

Version:代表注釋,表示版本

From指令,F(xiàn)rom指定了一個基礎(chǔ)鏡像ubuntu,說明我們的操作是在ubuntu這個基礎(chǔ)鏡像上進行的

Maintainer指令,這個指令代表的是鏡像的作者,以及作者的電子郵件地址

RUN指令,RUN指令會在當(dāng)前鏡像中運行指定的命令,三條指令分別是更新apt倉庫,安裝nginx包,打印一條命令到指定的文件中。每條命令都會創(chuàng)建一個鏡像層。如果該命令成功,這個鏡像層就會提交,之后繼續(xù)指定DockerFile中的下面一條指令。默認(rèn)情況下,RUN命令會使用shell中的/bin/bash -c來執(zhí)行后面的指令。

Expose指令,這條指令告訴容器內(nèi)的應(yīng)用程序使用容器的指定端口。當(dāng)然,可以使用多個EXPOSE來向外面公開多個端口。

2、執(zhí)行一個Dockerfile,構(gòu)建鏡像

我們執(zhí)行剛才的Dockerfile,得到如下結(jié)果:

[root test]# docker build -t='yeyz:test0' .
Sending build context to Docker daemon 2.048 kB
Step 1/6 : FROM ubuntu:14.04
Trying to pull repository docker.io/library/ubuntu ... 
14.04: Pulling from docker.io/library/ubuntu
2e6e20c8e2e6: Downloading [>                                                  ] 539.1 kB/70.69 MB
95201152d9ff: Download complete 
5f63a3b65493: Download complete 

其中,-t選項是用來指定鏡像和倉庫名稱的,yeyz為倉庫名字,而test0為鏡像名字。命令中的.代表了當(dāng)前目錄,Docker默認(rèn)從本地目錄中去尋找DockerFile,也可以替換成一個指定的Git倉庫源地址來指定DockerFile的位置。如下:

docker build -t='yeyz/test0'  xxxx.com:yeyz/test0

如果想要保留版本信息,可以指定一個標(biāo)簽,如下:

docker build -t='yeyz/test0:v1' .

如果我們只想上傳某個目錄下面的部分文件,可以創(chuàng)建一個.dockerignore的文件,每一行都是一個文件過濾匹配模式,這樣,在生成鏡像的時候,會自動過濾掉那些不需要的文件。

最終的返回值是一個鏡像ID,我們拿到鏡像ID之后,就可以使用docker run命令運行鏡像。

3、Dockerfile構(gòu)建緩存

   當(dāng)我們第一次構(gòu)建的Dockerfile出現(xiàn)問題的時候,需要再次構(gòu)建,這個時候會執(zhí)行相同的指令,假設(shè)我們修改了Dockerfile中第4行的內(nèi)容,那么Docker會自動將前3行通過緩存的方式來進行加載,這會節(jié)省大量的時間。

    如果我們不想使用Dockerfile的緩存,則可以通過加上--no-cache參數(shù)來避免使用Dockerfile緩存。

4、查看鏡像的構(gòu)建歷史

docker history可以查看構(gòu)建好的鏡像的構(gòu)建歷史,以及構(gòu)建好的鏡像的每一層。

[root@VM-16-13-centos test]# docker images mysql
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql     latest              4f1413420360        7 weeks ago         545 MB

[root@VM-16-13-centos test]# docker history 4f1413420360
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
4f1413420360        7 weeks ago         /bin/sh -c #(nop)  CMD ["mysqld"]               0 B                 
<missing>           7 weeks ago         /bin/sh -c #(nop)  EXPOSE 3306 33060            0 B                 
<missing>           7 weeks ago         /bin/sh -c #(nop)  ENTRYPOINT ["docker-ent...   0 B                 
<missing>           7 weeks ago         /bin/sh -c ln -s usr/local/bin/docker-entr...   34 B                
<missing>           7 weeks ago         /bin/sh -c #(nop) COPY file:f9202f6b715c0e...   13.1 kB             
<missing>           7 weeks ago         /bin/sh -c #(nop) COPY dir:2e040acc386ebd2...   1.12 kB             
<missing>           7 weeks ago         /bin/sh -c #(nop)  VOLUME [/var/lib/mysql]      0 B                 
<missing>           7 weeks ago         /bin/sh -c {   echo mysql-community-server...   410 MB              
<missing>           7 weeks ago         /bin/sh -c echo "deb http://repo.mysql.com...   55 B                
<missing>           7 weeks ago         /bin/sh -c #(nop)  ENV MYSQL_VERSION=8.0.2...   0 B                 
<missing>           7 weeks ago         /bin/sh -c #(nop)  ENV MYSQL_MAJOR=8.0          0 B                 
<missing>           7 weeks ago         /bin/sh -c set -ex;  key='A4A9406876FCBD3C...   2.61 kB             
<missing>           7 weeks ago         /bin/sh -c apt-get update && apt-get insta...   52.2 MB             
<missing>           7 weeks ago         /bin/sh -c mkdir /docker-entrypoint-initdb.d    0 B                 
<missing>           7 weeks ago         /bin/sh -c set -eux;  savedAptMark="$(apt-...   4.17 MB             
<missing>           7 weeks ago         /bin/sh -c #(nop)  ENV GOSU_VERSION=1.12        0 B                 
<missing>           7 weeks ago         /bin/sh -c apt-get update && apt-get insta...   9.34 MB             
<missing>           7 weeks ago         /bin/sh -c groupadd -r mysql && useradd -r...   329 kB              
<missing>           7 weeks ago         /bin/sh -c #(nop)  CMD ["bash"]                 0 B                 
<missing>           7 weeks ago         /bin/sh -c #(nop) ADD file:d2abb0e4e7ac177...   69.2 MB

以上就是使用Dockerfile構(gòu)建docker鏡像的詳細(xì)內(nèi)容,更多關(guān)于用Dockerfile構(gòu)建docker鏡像的資料請關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:雞西 隴南 運城 朝陽 連云港 荊門 面試通知 遵義

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用Dockerfile構(gòu)建docker鏡像》,本文關(guān)鍵詞  使用,Dockerfile,構(gòu)建,docker,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用Dockerfile構(gòu)建docker鏡像》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用Dockerfile構(gòu)建docker鏡像的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产精品免费精品自在线观看| 99久久网站| 国产一区二区精品在线观看| 麻豆网站在线看| 久久久久久久免费视频| 九九久久99| 国产精品12| 国产视频在线免费观看| 国产美女在线观看| 亚洲 欧美 成人日韩| 国产一级强片在线观看| 午夜欧美成人香蕉剧场| 黄色福利片| 久久久久久久免费视频| 999久久66久6只有精品| 黄色免费三级| 精品视频在线观看免费| 午夜欧美成人香蕉剧场| 九九免费精品视频| 国产欧美精品午夜在线播放| 精品视频在线观看一区二区三区| 二级片在线观看| 91麻豆精品国产自产在线 | 国产精品自拍亚洲| 久久99爰这里有精品国产| 日本在线www| 欧美大片a一级毛片视频| 亚洲不卡一区二区三区在线| 亚洲 欧美 成人日韩| 色综合久久天天综合| 精品国产亚洲人成在线| 国产伦久视频免费观看视频| 99色播| 精品视频在线观看一区二区三区| 久久99爰这里有精品国产| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99久久网站| 欧美大片a一级毛片视频| 中文字幕一区二区三区 精品| 亚洲精品影院一区二区| 一级女性大黄生活片免费| 韩国三级香港三级日本三级la | 久久久久久久免费视频| 欧美爱色| 天天做日日干| 国产一区二区高清视频| 黄色免费三级| 毛片的网站| 欧美大片a一级毛片视频| 亚洲精品影院一区二区| 国产一区二区精品在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 麻豆网站在线看| 黄视频网站在线免费观看| 亚洲精品影院一区二区| 成人影院一区二区三区| 99久久精品费精品国产一区二区| 99色播| 999久久66久6只有精品| 欧美激情伊人| 日韩综合| 午夜欧美成人香蕉剧场| 精品国产一区二区三区久久久狼| 精品视频在线观看一区二区三区| 一级女性大黄生活片免费| 天天做日日干| 国产欧美精品午夜在线播放| 精品久久久久久免费影院| 韩国毛片免费大片| 免费一级生活片| 成人影视在线观看| 黄色免费三级| 成人影视在线观看| 二级片在线观看| 国产亚洲免费观看| 成人免费观看的视频黄页| 国产不卡高清| 天堂网中文在线| 99久久精品费精品国产一区二区| 亚欧成人乱码一区二区| 色综合久久天天综合| 九九久久99| 国产亚洲精品aaa大片| 国产美女在线观看| 欧美一级视频免费观看| 日本在线www| 欧美激情伊人| 高清一级片| 国产一区二区精品在线观看| 久久久成人影院| 韩国三级香港三级日本三级la | 精品视频在线观看免费| 国产不卡在线观看| 日韩中文字幕一区| 欧美激情一区二区三区视频| 黄色福利片| 天天做日日干| 91麻豆爱豆果冻天美星空| 国产一级强片在线观看| 国产a一级| 高清一级片| 精品视频免费观看| 国产精品12| 国产不卡在线观看| 久久99爰这里有精品国产| 亚洲 欧美 成人日韩| 99久久精品费精品国产一区二区| 国产视频在线免费观看| 日韩免费片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产精品自拍亚洲| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产一区二区精品在线观看| 欧美一级视频免费观看| 欧美激情一区二区三区视频| 国产一区二区高清视频| 黄色免费三级| 欧美大片a一级毛片视频| 欧美激情伊人| 国产视频一区二区三区四区| 成人影院一区二区三区| 国产一区精品| 免费国产一级特黄aa大片在线| 亚洲不卡一区二区三区在线| 美女免费毛片| 国产精品12| 九九精品影院| 美女免费毛片| 韩国三级香港三级日本三级la | 一级片片| 国产一区二区高清视频| 韩国三级香港三级日本三级la | 国产伦精品一区二区三区无广告 | 国产精品免费精品自在线观看| 99久久精品费精品国产一区二区| 999久久66久6只有精品| 日韩在线观看视频黄| 精品国产亚洲人成在线| 国产91精品露脸国语对白| 99色播| 日本特黄一级| 毛片的网站| 九九精品影院| 中文字幕97| 久久国产一区二区| 国产一级强片在线观看| 国产成a人片在线观看视频| 999久久66久6只有精品| 久久99爰这里有精品国产| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 99久久网站| 国产一区二区高清视频| 国产网站免费在线观看| 国产精品自拍亚洲| 亚欧成人乱码一区二区| 91麻豆爱豆果冻天美星空| 麻豆网站在线看| 国产伦精品一区二区三区无广告 | 国产a一级| 日韩在线观看视频黄| 九九精品影院| 九九久久99| 97视频免费在线观看| 黄视频网站在线免费观看| 黄色福利片| 日韩在线观看视频黄| 欧美另类videosbestsex视频| 国产成a人片在线观看视频| 日日夜夜婷婷| 日韩一级黄色大片| 日日夜夜婷婷| 99热视热频这里只有精品| 国产一区二区精品久久| 日韩一级黄色大片| 日韩在线观看视频黄| 青青久久国产成人免费网站| 亚欧成人乱码一区二区| 精品久久久久久中文字幕一区| 天天做人人爱夜夜爽2020毛片| 麻豆网站在线看| 精品视频免费在线| 日韩在线观看视频黄| 韩国毛片免费大片| 国产91精品露脸国语对白| 91麻豆爱豆果冻天美星空| 日韩免费片| 精品久久久久久免费影院| 久久成人综合网| 亚洲www美色| 成人影院一区二区三区| 91麻豆精品国产自产在线 | 一级毛片看真人在线视频| 一本伊大人香蕉高清在线观看| 日韩一级黄色大片| 日韩中文字幕在线观看视频| 韩国三级香港三级日本三级la | 亚洲 欧美 成人日韩| 可以免费看污视频的网站|