精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

IT工程師都需要掌握的容器技術之Dockerfile

開發 前端
今天我們繼續來學習Docker技術,本篇文章主要介紹Dockerfile,Dockerffile是一個文本文件,Docker通過讀取Dockerfile文件來自動構建鏡像。

 今天我們繼續來學習Docker技術,本篇文章主要介紹Dockerfile,Dockerffile是一個文本文件,Docker通過讀取Dockerfile文件來自動構建鏡像。

下面就由成哥來介紹Dockerfile的語法及使用方法吧!

01 Dockerfile概述

Dockerfile相當于一個文檔,用戶可以基于dockerfile生產新的容器。Dockerfile僅僅是用來制作鏡像的源碼文件,是構建容器過程中的指令,docker能夠讀取dockerfile的指令進行自動構建容器,基于dockerfile制作鏡像,每一個指令都會創建一個鏡像層,即鏡像層是多層疊加的,鏡像層數越多,效率越低。所以創建鏡像時盡量通過越少的指令完成需要的動作。Docker通過dockerfile進行build及build后的鏡像運行流程邏輯如下圖所示。

 

IT工程師都需要掌握的容器技術之Dockerfile

 

02 Dockerfile的編寫

(1) 上下文

上下文就是指我們build Docker鏡像時Dockerfile文件所在的目錄,構建鏡像是由Docker守護程序而不是CLI運行的,該過程的第一件事是將 Dockerfile 文件所在目錄下的所有內容遞歸的發送到守護進程。所以在大多數情況下,最好是創建一個新的目錄,在其中保存 Dockerfile,并在其中添加構建 Dockerfile 所需的文件。

現在我們就在系統中創建一個空目錄以便下面Dockerfile文件的創建及后面的鏡像構建

 

IT工程師都需要掌握的容器技術之Dockerfile

 

(2) Dockerfile格式

Dockerfile的語法格式如下所示:

 

  1. 1. # 格式為語法+參數   
  2. 2. INSTRUCTION arguments   

 

該指令不區分大小寫。但是,約定將它們大寫,以便更輕松地將它們與參數區分開。Dockerfile按順序運行指令。

(3) Dockerfile常用指令

1)FROM

一個Dockerfile 必須以開始FROM的指令。使用FROM指令指定一個基礎鏡像,后續指令將在此鏡像的基礎上運行,在一個Dockerfile文件中FROM可以出現多次,下面我們來看看FROM的語法格式

  1. 1. FROM [--platform=<platform>] <image> [AS <name>]   

我們創建一個Dockerfile文件,其中FROM指定以centos為基礎鏡像

 

  1. 1. # 指定以centos為基礎鏡像進行build   
  2. 2. FROM centos   

 

2)WORKDIR

WORKDIR用于指定工作目錄,所有執行的shell語句都會在該指定的目錄中運行,我們后面講的 RUN,CMD,COPY,ADD 等指令將會在指定的工作目錄中去執行。該指令也可以在一個Dockerfile文件中出現多次,最后一次出現的目錄依次是上個目錄的子目錄。如下所示:

 

  1. 1. WORKDIR /a   
  2. 2. WORKDIR b   
  3. 3. WORKDIR c   
  4. 4. RUN pwd   

 

最后這個pwd的命令執行的目錄為/a/b/c。我們繼續基于上面的指令來指定WORKDIR目錄為'/'

 

IT工程師都需要掌握的容器技術之Dockerfile

 

3)RUN

RUN 指令用于執行命令,該指令有兩種形式:

a. RUN ,使用 shell 去執行指定的命令 command,一般默認的 shell 為 /bin/sh -c

b. RUN ["executable", "param1", "param2"],使用可執行的文件或程序后面并可以跟上相關參數

下面我們通過這兩種形式來創建執行命令

 

  1. 1. # 第一種RUN指令方式   
  2. 2. RUN yum update   
  3. 3.    
  4. 4. # 第二種RUN指令方式   
  5. 5. RUN ["/bin/bash""-c""echo hello"]  

4)CMD

CMD 的使用方式跟 RUN 類似,其跟RUN的區別是RUN是在構建鏡像是運行執行而CMD是容器運行后執行的指令。在一個 Dockerfile 文件中只能有一個 CMD 指令,如果有多個 CMD 指令,則只有最后一個會生效。CMD也有三種命令格式具體如下

 

  1. 1. # 第一種執行命令推薦用法   
  2. 2. CMD ["executable","param1","param2"]   
  3. 3.    
  4. 4. # 第二種該格式主要配合ENTRYPOINT使用,CMD 指令的值會作為 ENTRYPOINT 指令的參數   
  5. 5. CMD ["param1","param2"]   
  6. 6.    
  7. 7. # 第三種執行shell form,該方法與第一種的執行效果一致   
  8. 8. CMD command param1 param2    

 

我們通過第一種方式來創建來執行wc的幫助指定具體如下

 

  1. 1. CMD ["/usr/bin/wc","--help"]   

第二種方法需要在Dockerfile中使用ENTRYPOINT指令,ENTRYPOINT 指令會覆蓋 CMD 指令作為容器運行時的默認指令,并且不會在 docker run 時被覆蓋,如下示例

 

  1. 1. FROM centos   
  2. 2. ENTRYPOINT ["ls""-a"]   
  3. 3. CMD ["-l"]   

 

上述構建的鏡像,在我們使用 docker run 時等同于 docker run ls -a l 命令。CMD 指令的值會被當作 ENTRYPOINT 指令的參數附加到 ENTRYPOINT 指令的后面,并且如果 docker run 中指定了參數,會覆蓋 CMD 中給出的參數。

5)COPY&ADD

COPY 和 ADD 都用于將文件,目錄等復制到鏡像中。兩者的區別在于ADD可以使用遠程URL路徑作為復制源,如果只復制本地文件建議使用COPY,兩個指令的語法格式如下:

 

  1. 1. # ADD命令格式   
  2. 2. ADD [--chown=<user>:<group>] <src>... <dest>   
  3. 3. ADD [--chown=<user>:<group>] ["<src>",... "<dest>"]   
  4. 4.    
  5. 5. # COPY命令格式   
  6. 6. COPY [--chown=<user>:<group>] <src>... <dest>   
  7. 7. COPY [--chown=<user>:<group>] ["<src>",... "<dest>"]   

--chown用于指定文件目錄用戶與權限, 可以指定多個,但是其路徑不能超出上下文的路徑,即必須在跟 Dockerfile 同級或子目錄中。 不需要預先存在,不存在路徑時會自動創建,如果沒有使用絕對路徑,則 為WORKDIR指定目錄的相對路徑。

6)ENV

ENV用于定義Dockerfile的環境變量,變量設置的值將在構建階段中所有后續指令的環境中使用,并且在許多情況下也可以內聯替換。其命令格式如下:

  1. 1. ENV <key>=<value> ...   

使用示例如下

 

  1. 1. # $MYDIR將被替換成"/mydir"   
  2. 2. ENV MYDIR="/mydir"   
  3. 3. RUN mkdir $MYDIR   

 

7)VOLUME

VOLUME用于在Dockerfile文件中指定掛載目錄,在容器運行時,將自動創建相應的匿名卷,其命令格式如下

 

  1. 1. VOLUME ["/data"]   

該條命令會在容器運行時創建一個匿名卷,同時將容器中/data目錄掛載到該卷上。

8)EXPOSE

EXPOSE指令通知Docker容器在運行時監聽指定的網絡端口。您可以指定端口是偵聽TCP還是UDP,如果未指定協議,則默認值為TCP。EXPOSE指令實際上并未發布端口。它充當構建映像的人員和運行容器的人員之間的一種文檔類型,有關打算發布哪些端口的信息。如果要將容器端口暴露出來,需要在 dcoker run 命令中使用 -p。

EXPOSE指令格式與用法示例如下:

 

  1. 1. # EXPOSE命令格式   
  2. 2. EXPOSE <port> [<port>/<protocol>...]   
  3. 3.    
  4. 4. # 使容器同時監聽TCP與UDP的80端口   
  5. 5. EXPOSE 80/tcp   
  6. 6. EXPOSE 80/udp   

 

03 Dockerfile鏡像構建

我們現在通過Dockerfile來構建一個nginx服務器,Dockerfile具體配置如下:

 

  1. 1. # 指定基礎鏡像   
  2. 2. FROM centos   
  3. 3.    
  4. 4. # 設置環境目錄   
  5. 5. WORKDIR /   
  6. 6.    
  7. 7. # 安裝nginx   
  8. 8. RUN yum install nginx -y   
  9. 9.    
  10. 10. # 容器對外暴露80端口   
  11. 11. EXPOSE 80   
  12. 12.    
  13. 13. # 啟動nginx   
  14. 14. CMD ["/usr/sbin/nginx""-g""daemon off;"]   

 

接著通過該Dockerfile文件進行鏡像構建,具體如下

 

IT工程師都需要掌握的容器技術之Dockerfile

 

 

IT工程師都需要掌握的容器技術之Dockerfile

 

最后我們啟動容器,同時查看nginx服務是否能夠訪問,具體操作如下

 

IT工程師都需要掌握的容器技術之Dockerfile

 

 

IT工程師都需要掌握的容器技術之Dockerfile

 

 

IT工程師都需要掌握的容器技術之Dockerfile

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2020-11-25 09:27:49

Docker容器技術

2020-10-19 09:32:49

容器Docker管理

2020-10-26 15:11:50

Docker容器IT

2020-10-27 10:52:37

Docker容器存儲

2010-08-10 13:22:41

2020-03-17 15:15:49

Python工程師面試題

2020-07-22 14:50:35

Python數據分析

2022-08-12 09:21:43

前端JavaScript代碼

2020-08-05 08:25:58

大數據Java技術

2021-03-31 22:25:46

運維工程師技能

2017-09-22 08:33:34

機器學習Web設計UI

2010-08-10 13:29:58

軟件工程師

2013-08-15 09:47:27

企業網絡簡化網絡工程師

2012-03-31 16:57:52

工程師創業團隊

2025-06-12 01:11:11

AsyncAwait函數

2021-03-09 10:47:56

系統架構師算法工程師人工智能工程師

2018-12-29 15:10:22

工程師爬蟲Python

2021-03-24 15:15:34

數據工程師開發工具

2009-12-18 10:08:47

路由器協議

2017-03-30 16:03:06

Linux運維工程師技能
點贊
收藏

51CTO技術棧公眾號

日韩精品自拍偷拍| 亚洲福利视频导航| 亚洲最大福利视频网| 国产污视频在线观看| 亚洲人成精品久久久| 欧洲精品在线观看| 国产免费内射又粗又爽密桃视频| 亚洲人妻一区二区| 精品亚洲国内自在自线福利| 久久久久久久91| 综合 欧美 亚洲日本| 国产精品videossex| 欧美日韩美少妇| 欧美 日韩 亚洲 一区| 成人在线观看免费| 粉嫩aⅴ一区二区三区四区| 国产成一区二区| 毛片aaaaa| 日韩精品免费一区二区在线观看| 亚洲精品在线电影| 爱爱爱爱免费视频| 欧美性xxx| 亚洲午夜激情av| 亚洲一区二区三区加勒比| 手机在线不卡av| 国产一区二区精品久久| 国产精品久久久久久久久久久久久久 | 日本一区二区三区四区高清视频 | 久久草视频在线| 91精品婷婷色在线观看| 国产亚洲精品一区二555| 一级黄色电影片| 成人黄色91| 欧美午夜片在线观看| av免费播放网址| xxxx在线视频| 一区二区日韩av| 强开小嫩苞一区二区三区网站| 国产高清视频免费最新在线| 99久久国产综合精品麻豆| 99se婷婷在线视频观看| 91资源在线视频| 久久精品国产精品亚洲红杏| 国产精品高潮在线| 四虎影院在线免费播放| 香蕉久久国产| 91高潮在线观看| 久久精品国产亚洲av高清色欲 | 欧美极品aⅴ影院| 欧美精品尤物在线| 色在线免费视频| 99riav一区二区三区| 国产精品美女黄网| 蜜桃视频久久一区免费观看入口| 成人综合在线观看| 国产精华一区二区三区| 亚洲黄色精品视频| 岛国精品在线播放| 国内一区二区三区在线视频| 日本人妻丰满熟妇久久久久久| 成人午夜视频免费看| 电影午夜精品一区二区三区| 丰满少妇高潮在线观看| av中文字幕不卡| 精品国产免费一区二区三区 | 正在播放亚洲精品| 激情图片小说一区| 99久久国产免费免费| 亚洲精选一区二区三区| 99久久国产综合精品女不卡| 日本成人看片网址| 亚洲免费视频一区二区三区| 最新日韩在线视频| 成人免费在线网| 超碰aⅴ人人做人人爽欧美| 欧美在线视频全部完| 手机免费av片| 亚洲欧美专区| 精品久久久久久综合日本欧美| 老熟女高潮一区二区三区| 一本久久青青| www亚洲欧美| 免费一级特黄特色大片| 久久久久久黄| 亚洲伊人成综合成人网| 男人天堂手机在线观看| 久久久99久久| 色中文字幕在线观看| 黄色成人在线网| 色婷婷久久一区二区三区麻豆| 亚洲综合欧美激情| 亚洲精品一区二区三区中文字幕| 亚洲激情视频在线观看| 日本人亚洲人jjzzjjz| 欧美日韩成人| 国产精品看片资源| 免费观看毛片网站| 国产精品国产精品国产专区不片| 福利视频免费在线观看| 日韩一级二级| 亚洲第一区在线观看| 蜜桃久久精品成人无码av| 欧美精品午夜| 国产精品久久久久一区二区| 亚洲av色香蕉一区二区三区| 日本一区二区三区国色天香 | 性欧美videohd高精| 日韩欧美精品在线| 伊人影院综合网| 亚洲国产一区二区精品专区| 成人国产亚洲精品a区天堂华泰| 亚州男人的天堂| 亚洲欧美一区二区久久| 凹凸日日摸日日碰夜夜爽1| 亚洲成人影音| 久久手机免费视频| 成人小视频在线播放| 成人免费视频网站在线观看| 亚洲一区二三| 久久精品女人天堂av免费观看 | 中文字幕在线播放| 欧美午夜www高清视频| 91大神免费观看| 日韩精品不卡一区二区| 欧美一区二区影院| 日本激情视频网站| 亚洲国产va精品久久久不卡综合 | 无码人妻丰满熟妇精品| 成人午夜碰碰视频| 日本wwwcom| 日韩在线成人| 久热精品视频在线免费观看 | 最新中文字幕在线播放| 精品久久久影院| 国产亚洲精品女人久久久久久| 狠狠色丁香婷综合久久| 亚洲免费不卡| 久久久久久久性潮| 中文字幕精品—区二区| 成人一级免费视频| 国产亚洲欧美日韩在线一区| 无码人妻h动漫| 台湾色综合娱乐中文网| 91黑丝高跟在线| 婷婷丁香花五月天| 精品久久久久久久久久久| www国产视频| 亚洲国产午夜| 久久本道综合色狠狠五月| 免费h视频在线观看| 亚洲黄色有码视频| 国产精品一区二区三区四| 久久麻豆一区二区| www.99热这里只有精品| 欧美三级午夜理伦三级小说| 2019亚洲日韩新视频| 日本天堂影院在线视频| 欧美性少妇18aaaa视频| 久久久视频6r| 久久99热这里只有精品| 9l视频自拍9l视频自拍| 亚洲天堂av资源在线观看| 欧美精品videosex性欧美| 日韩一级中文字幕| 欧美性感美女h网站在线观看免费| 老司机福利av| 久久www免费人成看片高清| 国产免费xxx| 欧美电影在线观看完整版| 欧洲永久精品大片ww免费漫画| 国产精品影院在线| 宅男噜噜噜66一区二区66| 久草视频免费播放| 久久综合精品国产一区二区三区 | 国产精品一卡二| 国产人妻777人伦精品hd| 欧美女王vk| 成人精品久久av网站| 1024在线看片你懂得| 亚洲欧美日韩一区二区在线| 一级黄色免费看| 亚洲国产另类精品专区| 成熟人妻av无码专区| 国产精品一区二区三区99| 欧美网站免费观看| 91久久夜色精品国产按摩| 国产成人看片| 成人av免费电影网站| 日日狠狠久久偷偷四色综合免费| 丰满岳乱妇国产精品一区| 色噜噜狠狠色综合中国| 日韩视频中文字幕在线观看| 久久尤物电影视频在线观看| 在线免费黄色网| 性久久久久久| 99久久久精品视频| 日韩电影二区| 国语精品免费视频| 国产电影一区二区| 日韩美女视频免费看| 色呦呦网站在线观看| 伊人伊成久久人综合网站| 黄色av免费观看| 欧美日韩国产小视频在线观看| 日韩av在线天堂| 亚洲视频中文字幕| 成人在线手机视频| 99久久国产综合精品色伊| 97人人模人人爽人人澡| 日韩精品免费视频人成| 九一国产精品视频| 亚洲精品成人| 亚洲最大免费| 欧美人妖在线| 久久99导航| 99精品中文字幕在线不卡 | 亚洲AV无码一区二区三区性| 欧美影院一区二区三区| 一级片中文字幕| 亚洲综合免费观看高清完整版| 亚洲一级理论片| 国产欧美日韩精品一区| 91精品人妻一区二区| 成人av在线网站| 中文字幕18页| 国产毛片精品视频| 亚洲在线观看网站| 麻豆国产一区二区| 亚洲欧美在线精品| 日韩专区中文字幕一区二区| 免费无码国产v片在线观看| 极品裸体白嫩激情啪啪国产精品| 看一级黄色录像| 仙踪林久久久久久久999| 色播亚洲婷婷| 欧洲杯什么时候开赛| 日本在线播放一区| 自拍自偷一区二区三区| 鲁片一区二区三区| 免费一区二区三区视频导航| 精品中文字幕一区| 精品视频高潮| 久久精品国产精品青草色艺| 久久综合五月婷婷| 国产在线一区二区三区欧美| 激情小说一区| 久久99蜜桃综合影院免费观看| 嫩草国产精品入口| 久久riav二区三区| 欧美人妖在线| 亚洲欧洲国产精品久久| 999精品在线| 国产成年人在线观看| 91精品国产视频| 老司机午夜免费福利视频| 午夜精品久久| 国产免费黄色一级片| 国产欧美高清| 黄色一级二级三级| 麻豆中文一区二区| 麻豆网站免费观看| 成人国产亚洲欧美成人综合网| 国产精品无码一区二区三| 91片在线免费观看| 久久婷婷五月综合| 亚洲天堂a在线| 国产乡下妇女做爰| 日韩人体视频一二区| 中文字幕在线观看精品| 欧美一二三四在线| 手机在线精品视频| 亚洲一区二区久久| 国产三区视频在线观看| 欧美激情videos| 亚洲精品日产| 国产在线观看不卡| 麻豆一区二区麻豆免费观看| 日韩精品伦理第一区| 综合五月婷婷| 18禁免费无码无遮挡不卡网站| 日日嗨av一区二区三区四区| 涩涩网站在线看| jvid福利写真一区二区三区| 久久国产柳州莫菁门| 亚洲欧美日韩国产中文在线| 天堂网一区二区三区| 欧美婷婷六月丁香综合色| www.黄色小说.com| 亚洲美女av在线播放| 黄色网址在线免费播放| 6080yy精品一区二区三区| 九九久久国产| 国产乱码一区| 天天综合精品| 精品人妻一区二区三区四区在线 | 色综合天天综合网国产成人综合天| 亚洲天堂免费av| 亚洲第一区中文99精品| 欧美18hd| 国产精品电影观看| www.神马久久| 在线视频精品一区| 久久激情中文| 大尺度在线观看| 中文字幕在线播放不卡一区| 欧美三级午夜理伦| 欧美一级生活片| 国产高清美女一级毛片久久| 91国内在线视频| 日韩在线精品强乱中文字幕| 午夜精品一区二区三区在线观看 | 国产久一一精品| 亚洲免费福利一区| wwwwww欧美| 久久99国产精品久久99果冻传媒| 可以直接看的无码av| 亚洲精品国产第一综合99久久 | 国产suv一区二区三区88区| 国产18无套直看片| 日韩欧美国产激情| 天堂在线资源库| 欧美激情videos| 日韩欧美一级| 9色视频在线观看| 麻豆精品一区二区av白丝在线| 国产美女免费网站| 欧美日韩一区二区三区在线免费观看| 亚洲爱情岛论坛永久| 美日韩精品视频免费看| 日韩精品一级毛片在线播放| 日韩欧美在线一区二区| 丝袜美腿高跟呻吟高潮一区| 亚洲成人日韩在线| 欧美日韩精品国产| 四虎国产精品永远| 欧美中文在线观看| 伊人成综合网伊人222| 久久久999视频| fc2成人免费人成在线观看播放| 国产精品日日夜夜| 精品嫩草影院久久| 超碰97国产精品人人cao| 成人欧美一区二区三区视频xxx| 女人色偷偷aa久久天堂| 中文字幕1区2区| 亚洲福利电影网| 亚洲aaaaaaa| 欧洲日韩成人av| 欧美性感美女一区二区| 国产精品久久a| 成人欧美一区二区三区| 国产免费一区二区三区最新不卡| 欧美精品日韩www.p站| 亚洲三级av| 成人免费在线小视频| 久久人人超碰精品| 国产精品自拍第一页| 日韩中文字幕在线观看| 日本免费精品| 久久亚洲中文字幕无码| 91丨porny丨首页| 午夜一级黄色片| 最新91在线视频| 亚洲福利合集| 丰满人妻中伦妇伦精品app| 国产女人18毛片水真多成人如厕| 又色又爽又黄无遮挡的免费视频| 欧美老妇交乱视频| 亚洲69av| 欧美一级xxxx| 亚洲成人1区2区| 国产精品无码2021在线观看| 国产精品一区久久久| 狠狠干成人综合网| 国内精品卡一卡二卡三| 欧美一区二区三区免费| av影院在线免费观看| 色姑娘综合网| 国产iv一区二区三区| 激情网站在线观看| 欧美成人高清视频| 亚洲动漫精品| 中文字幕线观看| 精品露脸国产偷人在视频| 在线观看av的网站| 国产九色精品| 精品一区二区在线免费观看| 欧美日韩中文视频| 中文字幕最新精品| 任你弄精品视频免费观看| 91小视频在线播放| 欧美日韩国产一区在线| 免费日本一区二区三区视频| 国精产品一区二区| 国内精品免费在线观看| 国产又黄又猛又粗又爽| 欧美xxxx综合视频| 欧洲毛片在线视频免费观看| 国产人妻精品午夜福利免费| 欧美色涩在线第一页|