国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

聊一聊Docker構建優化解析

運維 系統運維 云計算
Docker鏡像用作Docker執行程序中的主映像。它們是容器的藍圖,提供了有關如何生成容器的說明。

在本文中,我將介紹一些經常被忽視的概念,這些概念將有助于優化Docker鏡像開發和構建過程。

[[436579]]

讓我們從Docker構建過程的簡短描述開始。這是通過使用Docker CLI工具運行docker build命令觸發的過程。

docker build命令根據Dockerfile的文件中指定的指令構建Docker鏡像。Dockerfile是一個文本文檔,其中包含用戶在命令行上調用以組裝映像的所有有序命令。

Docker鏡像由只讀層組成。每層代表一個Dockerfile指令。這些層是堆疊在一起的,每個層都是上一層的變化的增量。通常可以認為這些層是緩存的一種形式。僅對更改的層進行更新,而不是對每個更改進行更新。

下面的示例描述了Dockerfile的內容: 

  1. FROM registry.docker.com/baseimg/centos7-jdk8:latest 
  2.  
  3. MAINTAINER Luga "luga_sx@outofmemory.cn";  
  4.  
  5. RUN mkdir -p /tools/apps/{microserice} 
  6.  
  7. RUN mkdir -p /tools/apps/{microserice}/cache 
  8.  
  9. ADD {microserice}.jar /tools/apps/{microserice}/{microserice}.jar 
  10.  
  11. EXPOSE 9999 
  12.  
  13. ENV TZ 'Asia/Shanghai' 
  14.  
  15. ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Denv=DEV -Dapollo.cluster=DEFAULT -Dspring.profiles.active=prm -Dfile.encoding=utf-8","-jar","/tools/apps/{microserice}/{microserice}.jar"

該文件中的每條指令代表Docker鏡像中的單獨一層。以下是每條指令的簡要說明:

  • FROM:從JDK創建一個層Docker鏡像,(此處的鏡像非Docker Hub上面直接拉取,而是基于源碼自定義制作)
  • COPY:從Docker客戶端的當前目錄添加文件
  • RUN:使用make構建您的應用程序
  • CMD:指定在容器中運行什么命令

基于上述命令行,在構建過程中執行上述命令時,將在Docker鏡像中創建層,一個完整的Docker鏡像將由此誕生。然而,在實際的項目活動中,我們需要從性能、穩定性、安全性等等方面對我們所創建的Docker鏡像進行不斷的調整、優化,以滿足業務場景需求。

針對Docker的構建過程,我想分享一些優化建議,以幫助有效地構建鏡像:

臨時容器

Dockerfile定義的鏡像會生成短暫的容器。在這種情況下,臨時容器是指可以停放并銷毀,然后重建的容器,并使用絕對最小的設置和配置替換為新生成的容器。臨時容器可以認為是一次性的。每個實例都是新的,并且與以前的容器實例無關。在開發Docker鏡像時,我們應該利用盡可能多的臨時模式。

減少不必要的軟件包

盡量避免安裝不必要的文件和軟件包。Docker鏡像應保持精簡。這有助于提高可移植性,縮短構建時間,降低復雜性并減小文件大小。例如,在大多數情況下,不需要在容器上安裝文本編輯器。不要安裝任何非必需的應用程序或服務。

實現.dockerignore文件

.dockerignore文件排除與在其中聲明的模式匹配的文件和目錄。這有助于避免將不必要的大文件或敏感文件和目錄發送到守護程序,并避免將它們添加到公共鏡像。

要在不重構源存儲庫的情況下排除與構建無關的文件,請使用.dockerignore文件。該文件支持類似于.gitignore文件的排除模式。

排序多行參數

盡可能通過字母數字排序多行參數來簡化以后的更改。這有助于避免軟件包重復,并使列表更易于更新。

解耦應用

依賴于其他應用程序的應用程序被視為“已耦合”。在某些情況下,它們托管在同一主機或計算節點上。這在非容器部署中很常見,但對于微服務,每個應用程序應存在于其自己的單獨容器中。將應用程序解耦到多個容器中,可以更輕松地水平縮放和重用容器。例如,一個解耦的Web應用程序堆棧可能包含三個單獨的容器,每個容器都有自己的唯一鏡像:一個用于管理Web應用程序,一個用于管理數據庫的容器以及一個用于內存中緩存的容器。將每個容器限制為一個進程是一個很好的經驗法則。根據業務規則,使容器保持清潔和模塊化。然后,如果容器相互依賴,則可以使用Docker容器網絡來確保這些容器可以通信。

最小化層數

僅使用RUN、COPY和ADD等指令即可創建圖層。其他指令僅僅是創建臨時的中間鏡像,并且最終不會增加構建的大小。在可能的情況下,我們可以在構建過程中包含其他工具或者調試信息,而無需增加最終鏡像的大小。

利用構建緩存

在構建鏡像時,Docker會逐步執行Dockerfile中的指令,并按順序執行每個指令。在每條指令中,Docker都會在其緩存中搜索要使用的現有鏡像,而不是創建新的重復鏡像。

Docker鏡像通常在構建的過程中遵循以下基本規則:

1、從已在緩存中的父鏡像開始,將下一條指令與從該基本鏡像派生的所有子鏡像進行比較,以查看是否其中一個是使用完全相同的指令構建的。如果不是,則高速緩存無效。在大多數情況下,僅將Dockerfile中的指令與子鏡像之一進行比較就足夠。

2、對于ADD和COPY指令,將檢查鏡像中文件的內容,并為每個文件計算一個校驗標識。在這些校驗標識中通常不考慮文件的最后修改時間和最后訪問時間。在緩存查找期間,將校驗標識與現有鏡像中的進行比較。如果文件中的任何內容(例如內容和元數據)發生了更改,則緩存將無效。

3、除了ADD和COPY命令外,緩存檢查不會查看容器中的文件來確定緩存是否匹配。例如,在處理RUN apt-get -y update命令時,不會檢查容器中更新的文件以確定是否存在緩存命中。在這種情況下,命令字符串用于查找匹配項。

4、緩存無效后,所有后續Dockerfile命令都會生成新鏡像,并且不使用緩存。

在CI管道中優化Docker鏡像構建

前面幾節中提到的所有優化概念對于在CI管道中實施都是有效的。特別是緩存。如果Dockerfile發生了變化,那么利用緩存仍然是減少構建時間的最佳方法。作為CI管道的一部分,這是如何工作的?當使用Docker執行器作為構建作業的運行時,可以利用稱為Docker層緩存(DLC)的功能來加快構建速度。

當構建Docker鏡像是CI流程的常規部分時,DLC是一項很不錯的功能。DLC將保存在作業中創建的鏡像層。DLC會緩存在工作期間構建的任何Docker鏡像的各個層,然后在后續的CircleCI運行中重用未更改的鏡像層,而不是每次都重新構建整個鏡像。

Dockerfile提交的次數越少,鏡像構建步驟將運行得越快。DLC可以與機器執行程序和遠程Docker環境(setup_remote_docker)一起使用。重要的是要注意,DLC僅在使用docker build,docker compose或類似的Docker命令創建自己的Docker鏡像時有用,它不會減少所有構建啟動初始環境所花費的時間。

 

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

2020-09-08 06:54:29

Java Gradle語言

2020-08-24 07:12:17

前端CRP性能優化

2023-02-07 06:42:24

Pulsar負載均衡

2022-11-09 18:38:08

視頻清晰度

2018-06-07 13:17:12

契約測試單元測試API測試

2023-09-22 17:36:37

2020-05-22 08:16:07

PONGPONXG-PON

2021-01-28 22:31:33

分組密碼算法

2021-09-04 23:26:26

源碼ExpressNode

2020-08-12 08:34:16

開發安全We

2022-10-08 11:33:56

邊緣計算云計算

2022-11-26 00:00:06

裝飾者模式Component

2020-06-28 09:30:37

Linux內存操作系統

2021-01-01 09:01:05

前端組件化設計

2019-12-17 10:06:18

CDMA高通4G

2022-03-29 09:56:21

游戲版本運營

2022-03-08 16:10:38

Redis事務機制

2018-01-10 14:13:04

測試矩陣API測試

2022-11-01 08:46:20

責任鏈模式對象

2019-02-13 14:15:59

Linux版本Fedora
點贊
收藏

51CTO技術棧公眾號

成人高清一区| 亚洲黄色片在线观看| 国产日韩亚洲欧美精品| 久久久99精品免费观看不卡| 欧美成人精品影院| 五月天色婷婷综合| 91九色国产在线播放| 久久久综合精品| 国产日韩欧美在线看| 污网站在线免费看| 色菇凉天天综合网| 国产一区二区三区高清视频| 天堂资源在线亚洲资源| 成人图片小说| 久久中文字幕导航| 国产精品久久久久久亚洲影视| 国产小视频免费在线观看| 91视视频在线直接观看在线看网页在线看 | 91精品国产66| 欧美日韩亚洲综合在线| 激情婷婷丁香| 中文字幕欧美激情一区| av免费观看大全| 男人的天堂亚洲一区| 精选一区二区三区四区五区| 日韩免费一区| 青青草一区二区| 激情av综合| 欧美国产欧美亚洲国产日韩mv天天看完整| 丁香花在线观看完整版电影| 欧美欧美欧美欧美| 日本人妖在线| 亚洲成人tv网| 亚洲国产精华液| 亚洲国产欧美另类丝袜| 日本1区2区| 亚洲高清免费在线| 在线播放你懂的| 日韩欧美在线国产| 欧美扣逼视频| 欧美日韩视频在线观看一区二区三区| 在线观看av资源| 激情懂色av一区av二区av| 日本在线аv| 夜夜嗨av一区二区三区| 日韩加勒比系列| 亚洲成人自拍网| 蝌蚪视频在线播放| 欧美丝袜丝交足nylons| 国产美女福利在线| 日韩大片免费观看视频播放| 91av久久| 俺去了亚洲欧美日韩| 试看120秒一区二区三区| 欧美放荡办公室videos4k| 视频亚洲一区二区| 日韩免费av片在线观看| 999国产精品999久久久久久| 999精品在线观看| 精品1区2区3区4区| 亚洲bbw性色大片| 国产传媒欧美日韩成人| 成年人小视频网站| 亚洲线精品一区二区三区| 国产69久久| 亚洲国产中文字幕久久网| 成人精品三级| 97超碰国产精品女人人人爽| 91综合久久| 免费亚洲一区二区| 成人激情文学综合网| 在线观看亚洲色图| 精品欧美国产一区二区三区| 黄色网页在线播放| 永久免费看mv网站入口亚洲| 久久夜色电影| 91精品久久久久久久久| 玖玖视频精品| 欧美在线观看成人| 狠狠爱在线视频一区| 欧美xxxx视频| 久久久久久国产精品美女| 91精品成人| 在线观看一区二区三区三州| 国产欧美一区二区精品婷婷| 在线免费视频福利| 亚洲欧美日韩中文在线制服| 久久综合亚洲| 中文字幕日韩一区二区三区不卡| 久久精品视频免费观看| 国产中文字幕在线播放| 在线观看国产精品91| 欧美日韩国产高清电影| 欧美在线视频二区| 国产精品视频在线看| 黄色一级大片在线免费看产| 久久精品国产成人| 午夜精品偷拍| 成年人小视频网站| 欧美不卡在线视频| 国产精品美女久久久久久不卡| 色爱区成人综合网| 亚洲一区二区三区美女| 不卡福利视频| 亚洲一区二区在线| 久久久久久久精| av在线网址观看| 日韩女在线观看| 韩国三级电影一区二区| 视频一区二区在线播放| 中文字幕自拍vr一区二区三区| 中文字幕日韩一区二区不卡| 成人在线看视频| 日韩欧美国产成人一区二区| 欧美人体视频| 日本黄大片在线观看| 在线观看成人免费视频| 国内精品国产成人国产三级粉色| 亚洲国产高清国产精品| 色综合久久久久综合99| 成人动态视频| 999一区二区三区| 欧美日韩精品福利| 日本久久一二三四| 天天影视综合色| 亚洲男人的天堂在线播放| 亚洲福利久久| 中文字幕日产av一二三区| 日韩中文字幕视频在线| 免费久久99精品国产| 国产福利片在线| 国产久一一精品| 国产精品成人免费| 精品中文字幕一区二区三区| 裸体裸乳免费看| 精品日产卡一卡二卡麻豆| 亚洲精品韩国| 精品无吗乱吗av国产爱色| 国产精品久久久久久av下载红粉| 久久久午夜精品理论片中文字幕| 国产美女一区视频| 免费看污久久久| 在线观看av一区二区| 日韩精品水蜜桃| 香蕉视频在线免费| 成人观看高清在线观看免费| 亚洲一区二区五区| 欧美日韩伦理| eeuss在线播放| 午夜精品久久17c| 国产日韩精品一区| 97se亚洲国产一区二区三区| 欧美激情精品久久久久久小说| 伊人男人综合视频网| 国产91精品精华液一区二区三区| 成人影院在线视频| 伊人久久大香线蕉午夜av| 亚洲精品国产精品国产自| 国精产品一区一区三区mba视频| 182在线播放| 国产精品视频二| 精品国产一区二区三区久久久| 99精品桃花视频在线观看| 日韩在线观看中文字幕| 在线视频xx| 国产精品夜间视频香蕉| 色综合色狠狠综合色| 一区二区日本视频| 久久香蕉av| 日本午夜激情视频| 久久91精品国产91久久久| 综合激情成人伊人| 久久免费av| av大大超碰在线| 欧美在线观看黄| 欧美成人午夜剧场免费观看| 国产精品盗摄一区二区三区| 日韩毛片视频| 天天干在线视频论坛| 97超碰在线人人| 91成人在线视频| 欧洲一区二区三区免费视频| 美女视频第一区二区三区免费观看网站| 午夜影视一区二区三区| 看av免费毛片手机播放| 欧美专区第一页| 欧美伊人久久久久久久久影院 | 国产精品一区二区久久精品| 狠狠躁夜夜躁人人爽超碰91| 国产精品毛片在线看| 怡红院成人在线| 男人插女人欧美| 99在线影院| 亚洲精品一区二区三区婷婷月| 91美女在线视频| 久久在线免费| 欧美草逼视频| 四虎4hutv紧急入口| 久久精精品视频| 欧美成人午夜激情视频|