最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在沒有Docker緩存的情況下構(gòu)建鏡像的方法分享

 更新時間:2023年07月19日 11:42:49   作者:托兒所夜十三  
這篇文章主要給大家介紹了如何在沒有Docker緩存的情況下構(gòu)建鏡像的解決方法,文章通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下

盡可能快地構(gòu)建 Docker 鏡像至關(guān)重要。構(gòu)建映像的速度越快,測試并將其部署到生產(chǎn)環(huán)境的速度就越快。Docker 的構(gòu)建緩存是通過重用以前構(gòu)建的層來加速構(gòu)建的好方法。

Docker 緩存的工作原理

Docker 構(gòu)建緩存最好被視為從 Dockerfile 頂部到底部的堆棧。給定這樣的 Dockerfile:

FROM node:16
RUN apt-get update && apt-get install -y curl
WORKDIR /app
COPY package.json package-lock.json /app/
RUN npm install
COPY . .
RUN npm build

Dockerfile中的每一行都是Docker鏡像構(gòu)建過程中的一步,會在鏡像中創(chuàng)建一個層。這些層從上到下堆疊,形成最終的Docker鏡像。

這種繼承關(guān)系構(gòu)成了Docker層緩存的骨架。當(dāng)你使用docker build命令構(gòu)建鏡像時,Docker會按照從上到下的順序執(zhí)行每一步。在執(zhí)行每個步驟時,它會檢查是否已經(jīng)有了該步驟的層。如果該步驟自上次構(gòu)建以來沒有改變,緩存中就已經(jīng)存在該層,不需要重新構(gòu)建。

如果該步驟已經(jīng)改變(例如我們在COPY . .中更改了源代碼),層緩存中就沒有匹配項,需要重新構(gòu)建該步驟。

如果你已經(jīng)清除了本地Docker層緩存,該步驟也可能不在緩存中存在。

docker build過程中使用層緩存,是為什么步驟的順序非常重要。如果你更改了某個步驟,所有位于該步驟下方的步驟都需要重新構(gòu)建。

使用以下命令構(gòu)建沒有緩存的鏡像--no-cache

但是,有時,您想要構(gòu)建沒有緩存的圖像。您可能正在調(diào)試構(gòu)建問題并希望從頭開始?;蛘吣赡芟霃娭粕壱蕾図棥o論出于何種原因,您都可以使用該選項構(gòu)建沒有緩存的圖像--no-cache。

docker build --no-cache .

該標(biāo)志告訴 Docker 守護(hù)進(jìn)程在 a 期間跳過緩存docker build并運行 Dockerfile 中的每個步驟。它會導(dǎo)致構(gòu)建速度變慢,但會確保您運行每一步。指定--no-cache有助于調(diào)試構(gòu)建問題。您還可以使用它來強制升級依賴項,就像curl上面一樣apt-get install。

該參數(shù)告訴Docker守護(hù)進(jìn)程在docker build期間跳過緩存,并運行Dockerfile中的每個步驟。這會導(dǎo)致構(gòu)建速度較慢,但可以確保運行每個步驟。指定--no-cache對于調(diào)試構(gòu)建問題非常有幫助。你也可以使用它來強制升級依賴項,例如我們在上面的apt-get install -y curl。

在特定位置使使緩存失效

有時候你需要在Dockerfile的特定位置使緩存失效。例如,你可能想在npm install步驟之后使緩存失效,以便調(diào)試npm build步驟。你可以使用ARG指令來實現(xiàn)這個技巧。我們可以在npm build命令之前在Dockerfile中添加一個ARG STOP=1步驟。當(dāng)我們更改它的值時,這會導(dǎo)致緩存在該行失效。

...
COPY . .
ARG STOP=1
RUN npm build

現(xiàn)在,當(dāng)你運行docker build時,你會發(fā)現(xiàn)在構(gòu)建步驟運行之前,緩存會被失效。你可以通過更改值再次使其失效。你可以在Dockerfile內(nèi)部更改它,也可以在調(diào)用docker build時使用構(gòu)建參數(shù)來更改它。

docker build --build-arg STOP=2 .

小結(jié)

Docker構(gòu)建緩存是通過重用以前構(gòu)建的層來加速構(gòu)建的一種很好的方式。盡可能地優(yōu)化使用層緩存最終會加速Docker構(gòu)建。

但有時候,你想在沒有Docker緩存的情況下構(gòu)建鏡像。使用--no-cache選項將強制Docker守護(hù)進(jìn)程在構(gòu)建過程中運行Dockerfile中的每個步驟。它有助于調(diào)試構(gòu)建問題或強制升級操作系統(tǒng)依賴項。

Docker構(gòu)建緩存對于構(gòu)建Docker鏡像至關(guān)重要。還有其他基本技巧可以使你的Docker構(gòu)建速度更快。

到此這篇關(guān)于在沒有Docker緩存的情況下構(gòu)建鏡像的方法介紹的文章就介紹到這了,更多相關(guān)Docker緩存構(gòu)建鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker容器搭建Kafka集群的詳細(xì)過程

    Docker容器搭建Kafka集群的詳細(xì)過程

    這篇文章主要介紹了Docker容器?Kafka集群的搭建,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • docker鏡像無法上傳的解決方法

    docker鏡像無法上傳的解決方法

    大家都知道創(chuàng)建鏡像有很多方法,用戶可以從 Docker Hub 獲取已有鏡像并更新,也可以利用本地文件系統(tǒng)創(chuàng)建一個。但是工作中卻發(fā)現(xiàn)docker鏡像怎么都無法上傳,通過在網(wǎng)上查找資料終于解決了,下面將方法分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • 詳解如何基于Docker鏡像逆向生成Dockerfile

    詳解如何基于Docker鏡像逆向生成Dockerfile

    這篇博客文章我們將通過使用一些開源工具,帶領(lǐng)您逐步解讀?Docker?鏡像并轉(zhuǎn)換為?Dockerfile?的過程,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Docker使用run命令部署MySQL的流程步驟

    Docker使用run命令部署MySQL的流程步驟

    容器化技術(shù)為數(shù)據(jù)庫部署帶來了革命性的變化,MySQL作為最流行的開源關(guān)系型數(shù)據(jù)庫之一,結(jié)合Docker容器可以實現(xiàn)快速部署、環(huán)境隔離和便捷管理,本文給大家介紹了Docker使用run命令部署MySQL的流程步驟,需要的朋友可以參考下
    2025-03-03
  • docker-compose啟動springboot項目連接mysql問題

    docker-compose啟動springboot項目連接mysql問題

    這篇文章主要介紹了docker-compose啟動springboot項目連接mysql問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 嘗試Docker+Nginx部署單頁應(yīng)用方法

    嘗試Docker+Nginx部署單頁應(yīng)用方法

    這篇文章主要介紹了嘗試Docker+Nginx部署單頁應(yīng)用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Docker容器實現(xiàn)資源限制的多種方式(如CPU和內(nèi)存)

    Docker容器實現(xiàn)資源限制的多種方式(如CPU和內(nèi)存)

    在?Docker?中,可以通過設(shè)置容器運行參數(shù),限制容器的?CPU、內(nèi)存等資源使用量,從而防止某個容器占用過多資源,影響其他服務(wù)運行,本文給大家介紹了Docker容器實現(xiàn)資源限制的多種方式,需要的朋友可以參考下
    2025-07-07
  • 使用Docker部署Spring Boot的方法示例

    使用Docker部署Spring Boot的方法示例

    這篇文章主要介紹了使用Docker部署Spring Boot的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • docker下創(chuàng)建redis集群步驟詳解

    docker下創(chuàng)建redis集群步驟詳解

    這篇文章介紹了如何在Docker環(huán)境下創(chuàng)建Redis集群的步驟,包括解決Redis鏡像問題、配置國內(nèi)加速、準(zhǔn)備部署、創(chuàng)建配置文件、編寫docker-compose.yml、執(zhí)行部署命令、創(chuàng)建集群、驗證集群和查看集群信息等,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Docker遷移及存儲擴容遇到的問題

    Docker遷移及存儲擴容遇到的問題

    解決CentOS?Docker存儲不足問題,將數(shù)據(jù)目錄遷移至/home分區(qū),通過truncate處理日志、修改配置文件及同步數(shù)據(jù)恢復(fù)容器鏡像,最終釋放空間并確保數(shù)據(jù)目錄路徑正確
    2025-09-09

最新評論

海林市| 隆德县| 望谟县| 漳州市| 开阳县| 邵东县| 探索| 巴中市| 务川| 焉耆| 静海县| 比如县| 南华县| 胶南市| 开远市| 磴口县| 凤台县| 石阡县| 游戏| 绥阳县| 浏阳市| 湟源县| 武邑县| 安阳县| 弥勒县| 白城市| 临桂县| 新郑市| 阳信县| 利津县| 衢州市| 将乐县| 环江| 若羌县| 汉源县| 万源市| 安庆市| 庆城县| 东安县| 昔阳县| 稻城县|