那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

docker通過中間鏡像加速部署

馬哥Linux運維 ? 來源:博客園wang_yb ? 2025-01-06 12:39 ? 次閱讀

概要

使用 docker 打包鏡像的時候, 每次耗費時間最多的就是docker build的過程. 特別是對于前端工程的打包, 有時候下載依賴包的時間就要 10 幾分鐘, 這就導致發布版本的效率極低.

針對前端工程的打包慢的問題, 目前能想到的有效解決辦法就是, 在官方 node 的鏡像基礎上, 把當前項目用到的 packages 下載好再做個鏡像用于編譯前端工程用.

實施

根據上面的方案, 嘗試如下.

修改前的實施時間

修改前, 是在 node 鏡像中編譯前端, 然后將編譯之后的代碼放入后端的靜態文件目錄中.

FROM node:10.15-alpine as front-builder

WORKDIR /user
ADD ./frontend/application .
RUN yarn                        #  這一步耗費的時間最長
RUN yarn build


FROM golang:1.12.5-alpine3.9 as back-builder

WORKDIR /go
RUN mkdir -p ./src/xxx
ADD ./backend/src/xxx ./src/xxx
RUN go install xxx


FROM golang:1.12.5-alpine3.9

WORKDIR /app
COPY --from=front-builder /user/build ./public
COPY --from=back-builder /go/bin/xxx .

CMD ["./xxx"]

這種方式的編譯時間如下:

real    14m27.639s
user    0m0.812s
sys     0m0.108s

制作編譯用的鏡像

前端編譯用的鏡像 Dockerfile 如下:

FROM node:10.15-alpine

WORKDIR /user
ADD ./frontend/application .
RUN yarn
RUN rm -rf `grep -v "node_modules" | grep -v "yarn.lock"`

docker build 命令: ( 目錄結構根據具體的項目調整 )

# 這里的 Dockerfile 就是上面的內容, 編譯后會生成名稱為 node-application-cache 的 image
docker build -f ./Dockerfile -t node-application-cache .

測試修改后的實施時間

dockerfile 和修改前的基本一樣, 只改了第一行

# FROM node:10.15-alpine as front-builder
FROM node-application-cache:latest as front-builder

編譯時間如下:

real    1m17.399s
user    0m0.836s
sys     0m0.136s

使用了帶前端緩存的 image, 整體時間縮短了 14 倍左右 中途編譯用的鏡像(node-application-cache)比之前的(node:10.15-alpine)大很多, 但是最終發布的鏡像還是一樣大.

鏈接:https://www.cnblogs.com/wang_yb/p/11013550.html

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 命令
    +關注

    關注

    5

    文章

    696

    瀏覽量

    22107
  • 鏡像
    +關注

    關注

    0

    文章

    170

    瀏覽量

    10801
  • Docker
    +關注

    關注

    0

    文章

    492

    瀏覽量

    11960

原文標題:實施

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    vuejs部署 、測試鏡像編譯生成過程分析

    Docker : vuejs部署 、測試鏡像編譯生成
    發表于 07-16 17:04

    構建ARM64版本nacos docker鏡像

    在適配過程中有大量合作伙伴用到nacos且采用容器化部署,dockerhub未提供官方鏡像,因此需要在鯤鵬服務器自定義構建。構建前提:Docker部署構建步驟:1、下載包含構建所需的
    發表于 06-16 14:29

    如何在RDKx3部署docker鏡像

    一種在RDKx3部署docker鏡像跑tros歷程的方法 為了保持主系統環境干凈整潔,有在docker部署代碼的習慣。
    發表于 08-02 11:02

    淺析Docker鏡像本地存儲機制及容器啟動原理

    Docker 鏡像不是一個單一的文件,而是有多層構成。我們可通過 docker images 獲取本地的鏡像列表及對應的元信息, 接著可
    發表于 10-19 14:17 ?2544次閱讀

    Docker—簡介與鏡像用法

    阿里云官方鏡像站: ??https://developer.aliyun.com/mirror/?utm_content=g_1000303593?? ? 一、容器簡介 Docker是管理容器的引擎
    發表于 11-25 16:28 ?545次閱讀
    <b class='flag-5'>Docker</b>—簡介與<b class='flag-5'>鏡像</b>用法

    go項目怎么讓docker鏡像體積減小

    【導讀】go 項目怎么讓 docker 鏡像體積減小?本文做了詳細介紹。
    的頭像 發表于 06-12 15:07 ?1464次閱讀

    go項目怎么讓docker鏡像體積減小

    go 項目怎么讓 docker 鏡像體積減小?本文做了詳細介紹。
    的頭像 發表于 06-23 10:49 ?1227次閱讀

    Docker鏡像的詳細講解

    本文是對 Docker 鏡像的詳細講解,講解了如何安裝 Docker、配置 Docker 鏡像加速
    的頭像 發表于 08-02 10:00 ?2238次閱讀

    減少docker鏡像大小的方法

    Docker 是一種容器引擎,可以在容器內運行一段代碼。Docker 鏡像是在任何地方運行您的應用程序而無需擔心應用程序依賴性的方式。
    的頭像 發表于 05-15 11:13 ?982次閱讀
    減少<b class='flag-5'>docker</b><b class='flag-5'>鏡像</b>大小的方法

    docker 搜索鏡像,docker查看鏡像詳細信息(docker下載鏡像命令)

    Docker Hub是集中管理的Docker鏡像注冊中心。通過Docker 用戶可以在注冊中心搜索、下載和使用CLI命令行工具中的
    的頭像 發表于 07-19 09:46 ?1911次閱讀

    Docker鏡像國內加速的幾種方法

    在國內,拉取 Docker 鏡像速度慢/時不時斷線/無賬號導致限流等,比較痛苦. 這里提供加速/優化的幾種方法。
    的頭像 發表于 10-19 10:02 ?1.2w次閱讀
    <b class='flag-5'>Docker</b><b class='flag-5'>鏡像</b>國內<b class='flag-5'>加速</b>的幾種方法

    如何在Windows系統上設置Docker鏡像

    在使用 Docker 進行鏡像下載和構建時,由于眾所周知的原因,國內用戶可能會遇到下載速度慢或者無法連接的問題。為了解決這個問題,我們可以使用國內的鏡像源來加速下載速度。本文將介紹如何
    的頭像 發表于 10-24 16:55 ?6132次閱讀

    手動構建Docker鏡像的方法

    不推薦使用docker commit命令,而應該使用更靈活、更強大的dockerfile來構建docker鏡像
    的頭像 發表于 08-05 15:30 ?588次閱讀
    手動構建<b class='flag-5'>Docker</b><b class='flag-5'>鏡像</b>的方法

    華為云 X 實例部署 Docker 應用的性能評測優化與實踐指南

    ? 4.2 網絡延遲與帶寬消耗 ? 4.3 部署時間統計 ? 5. 優化策略 ? 5.1 硬件資源調整 ? 5.2 自動化腳本優化 ? 5.3 緩存與鏡像加速 ? 6 總結 ? 1. 前言 隨著云計算的快速發展,越來越多的企業
    的頭像 發表于 01-23 18:03 ?109次閱讀
    華為云 X 實例<b class='flag-5'>部署</b> <b class='flag-5'>Docker</b> 應用的性能評測優化與實踐指南

    Docker-鏡像的分層-busybox鏡像制作

    目錄 知識點1:鏡像的分層 示例:進入 docker hub查看Jenkins的Dockerfile 知識點2:base鏡像 知識點3:scratch鏡像 scratch
    的頭像 發表于 01-15 10:44 ?131次閱讀
    <b class='flag-5'>Docker</b>-<b class='flag-5'>鏡像</b>的分層-busybox<b class='flag-5'>鏡像</b>制作
    好运来百家乐官网现金网| 鸿运国际娱乐| 富川| 百家乐官网打水论坛| 百家乐开户最快的平台是哪家| 水浒传老虎机破解| 义乌市| 希尔顿百家乐官网娱乐城| 百樂坊百家乐的玩法技巧和规则| 澳门凯旋门赌场| 怎样看百家乐官网路纸| 百家乐赢率| 万豪国际娱乐网| 网上的百家乐官网是真是假| 破战百家乐的玩法技巧和规则| 奉节县| 百家乐玩法简介| 五星百家乐官网的玩法技巧和规则 | 百家乐官网游戏打水方法| 百家乐开户优惠多的平台是哪家| 六合彩今天开什么| 缅甸百家乐官网的玩法技巧和规则| 威尼斯人娱乐的微博| 百家乐官网去哪里玩最好| 澳门百家乐博彩能做到不输吗| 真龙娱乐| 多台百家乐官网的玩法技巧和规则| 威尼斯人娱乐城网址是什么| 百家乐官网信誉平台现金投注| 澳门百家乐小游戏| 百家乐投资| 3U百家乐娱乐城| 世博娱乐城| 百家乐看不到视频| ea平台| 半圆百家乐桌子| 大发888国际娱乐城lm0| 破解百家乐官网真人游戏| 威尼斯人娱乐场 新世纪| 百家乐官网网上真钱娱乐场| 大发888娱乐城官网|