婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用Dockerfile構建docker鏡像

使用Dockerfile構建docker鏡像

熱門標簽:上海申請高400開頭的電話 麗江真人語音電話外呼系統 河南防封號電銷機器人是什么 福州企業電銷機器人排名 10086外包用的什么外呼系統 400電話辦理介紹信 宿城區電話機器人找哪家 怎么找到沒有地圖標注的店 打400電話怎么辦理收費

   今天我們看看Dockerfile創建的方法。

構建docker鏡像,有兩種方法:

1、一種是使用docker commit命令

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

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

使用Dockerfile構建docker鏡像

1、什么是Dockerfile?

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

    假設我們的代碼是:

mkdir test

cd test

touch  Dockerfile

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

   下面來看一個Docker file的內容:

# 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

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

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

1、Docker從基礎鏡像運行一個容器,每個DockerFile的第一個命令都應該是From,From指定了一個基礎鏡像,后續指令都在這個基礎上執行。

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

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

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

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

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

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

Version:代表注釋,表示版本

From指令,From指定了一個基礎鏡像ubuntu,說明我們的操作是在ubuntu這個基礎鏡像上進行的

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

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

Expose指令,這條指令告訴容器內的應用程序使用容器的指定端口。當然,可以使用多個EXPOSE來向外面公開多個端口。

2、執行一個Dockerfile,構建鏡像

我們執行剛才的Dockerfile,得到如下結果:

[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為鏡像名字。命令中的.代表了當前目錄,Docker默認從本地目錄中去尋找DockerFile,也可以替換成一個指定的Git倉庫源地址來指定DockerFile的位置。如下:

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

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

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

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

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

3、Dockerfile構建緩存

   當我們第一次構建的Dockerfile出現問題的時候,需要再次構建,這個時候會執行相同的指令,假設我們修改了Dockerfile中第4行的內容,那么Docker會自動將前3行通過緩存的方式來進行加載,這會節省大量的時間。

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

4、查看鏡像的構建歷史

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

[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構建docker鏡像的詳細內容,更多關于用Dockerfile構建docker鏡像的資料請關注腳本之家其它相關文章!

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

巨人網絡通訊聲明:本文標題《使用Dockerfile構建docker鏡像》,本文關鍵詞  使用,Dockerfile,構建,docker,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用Dockerfile構建docker鏡像》相關的同類信息!
  • 本頁收集關于使用Dockerfile構建docker鏡像的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲日本在线a| 国产电影精品久久禁18| 老司机免费视频一区二区| 丰满亚洲少妇av| 日韩一区二区三区免费看 | 色综合天天视频在线观看| 日韩亚洲欧美高清| 九色|91porny| 久久蜜桃一区二区| 国产成人精品三级麻豆| 久久精品欧美一区二区三区不卡| 亚洲乱码一区二区三区在线观看| 国产精品久线观看视频| 亚洲欧美影音先锋| 亚洲视频综合在线| 午夜精品免费在线| 久久99国内精品| www.亚洲免费av| 欧美三级电影在线观看| 欧美一区二区三区在线观看视频| 日韩欧美国产精品一区| 国产欧美精品一区二区三区四区 | 94-欧美-setu| 色欧美日韩亚洲| 欧美另类z0zxhd电影| 日韩精品在线一区二区| 国产精品水嫩水嫩| 亚洲成av人综合在线观看| 风流少妇一区二区| 欧美色欧美亚洲另类二区| 日韩一区二区三区av| 亚洲私人黄色宅男| 国产福利精品导航| 欧美三级中文字幕在线观看| 久久综合九色综合欧美就去吻| 国产日韩欧美一区二区三区乱码| √…a在线天堂一区| 精品一区二区成人精品| 欧美久久久久中文字幕| 亚洲欧美一区二区三区国产精品 | 91精品久久久久久蜜臀| 亚洲天堂av一区| 夫妻av一区二区| 国产日产亚洲精品系列| 免费成人av在线播放| 欧美伊人久久大香线蕉综合69| 国产夜色精品一区二区av| 久久精品国产99国产| 欧美一级一区二区| 亚洲影院免费观看| 成人精品视频网站| 国产偷v国产偷v亚洲高清| 亚洲成av人片一区二区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 3751色影院一区二区三区| 国产精品福利影院| 国产成人免费视频网站| 精品少妇一区二区三区在线视频| 天使萌一区二区三区免费观看| 欧美日韩1234| 韩国视频一区二区| 国产精品久久久久一区二区三区 | 国产精品久久久久久久第一福利 | 欧美在线影院一区二区| 粉嫩aⅴ一区二区三区四区| 精品日产卡一卡二卡麻豆| 国产精品自在在线| 亚洲小少妇裸体bbw| 久久免费视频一区| 在线观看日韩av先锋影音电影院| 亚洲午夜私人影院| 亚洲国产精品成人综合| 欧美一二区视频| 日本韩国欧美在线| 不卡一卡二卡三乱码免费网站| 亚洲一区二区三区四区不卡| 日韩精品一区二区三区在线| 成人一区在线看| 国产在线视频一区二区| 日韩高清在线电影| 亚洲成人av电影| 夜夜嗨av一区二区三区网页| 2020国产精品自拍| 精品国产不卡一区二区三区| 色88888久久久久久影院按摩| 成人免费va视频| 国产美女娇喘av呻吟久久| 日韩不卡免费视频| 日韩av高清在线观看| 蜜桃久久久久久| 狠狠网亚洲精品| 丁香婷婷深情五月亚洲| 国产精品88888| 粉嫩蜜臀av国产精品网站| eeuss鲁片一区二区三区| 一本色道亚洲精品aⅴ| 91尤物视频在线观看| 91久久精品一区二区三| 欧美日韩综合色| 日韩一级免费观看| 国产精品欧美一级免费| 最好看的中文字幕久久| 亚洲成人tv网| 国产在线精品免费av| 国产成人精品午夜视频免费| 欧美日韩国产一级片| 久久天天做天天爱综合色| 中文字幕精品在线不卡| 亚洲成在人线在线播放| 丁香六月久久综合狠狠色| 欧美自拍丝袜亚洲| 久久无码av三级| 亚洲国产精品一区二区www在线| 免费一区二区视频| 99久久精品国产精品久久| 欧美亚洲国产一区在线观看网站| 4438亚洲最大| 综合激情成人伊人| 久久99精品国产麻豆不卡| 91网站最新网址| 国产精品久久久久久久久免费桃花| 日韩成人午夜电影| 91日韩一区二区三区| 久久久久国产精品人| 美女视频网站黄色亚洲| 欧美不卡一区二区三区| 五月天欧美精品| 欧美日韩一区二区三区不卡| 亚洲欧美在线视频观看| av成人免费在线| 一二三区精品福利视频| 色综合久久综合网97色综合| 国产精品久久影院| 成人av在线网站| 亚洲免费在线看| 欧美日韩一区二区三区四区| 夜夜精品浪潮av一区二区三区 | 国产精品一级片在线观看| 精品国产123| 奇米四色…亚洲| 久久综合久久综合久久| 九九**精品视频免费播放| 精品福利av导航| 色婷婷久久99综合精品jk白丝 | 久久免费看少妇高潮| 国产成人精品免费| 洋洋av久久久久久久一区| 欧美综合在线视频| 精品午夜一区二区三区在线观看| 日韩亚洲欧美高清| 日本韩国一区二区| 国产乱码一区二区三区| 亚洲激情自拍偷拍| 久久亚洲捆绑美女| 欧美日韩成人综合天天影院| 国产老肥熟一区二区三区| 一区二区三区不卡视频 | 日本不卡不码高清免费观看| 日本一区二区三区dvd视频在线| 日本黄色一区二区| 99国产麻豆精品| 成人一区二区视频| 国产精品一区在线| 捆绑调教一区二区三区| 午夜欧美在线一二页| 亚洲色图欧洲色图| 久久免费偷拍视频| 国产欧美日韩在线观看| 日韩欧美国产高清| 日韩美女天天操| 欧美r级在线观看| 欧美xxxxx牲另类人与| 欧美一区二区三区免费大片| 欧美日韩亚洲高清一区二区| 91国偷自产一区二区三区观看| 成人免费福利片| 成人爱爱电影网址| 一本久道久久综合中文字幕| 成人精品国产福利| 91福利小视频| 日韩一区二区视频| 久久蜜桃av一区二区天堂| 精品国产乱码久久久久久闺蜜 | 韩国理伦片一区二区三区在线播放| 亚洲一区二区三区在线| 另类小说一区二区三区| 国产精品一区在线| 久久久噜噜噜久噜久久综合| 国产欧美一区二区精品秋霞影院| 久久婷婷久久一区二区三区| 国产日韩欧美制服另类| 国产精品区一区二区三| 日韩福利视频导航| 丁香五精品蜜臀久久久久99网站 | 欧美精品1区2区| 久久这里只有精品首页| 亚洲精品国产一区二区精华液| 日韩精品免费视频人成| 懂色一区二区三区免费观看| 欧美人牲a欧美精品|