簡體   English   中英

Docker,你能緩存 apt-get package 安裝嗎?

[英]Docker, can you cache apt-get package installs?

我的 docker 文件的開頭在下面,我經常更改它之后的東西,但從來沒有這部分,但運行需要一段時間,尤其是RUN apt-get -y install npm ,我可以緩存 ZEFE90A8E604A7C840E8ZF0 下載嗎? 我查看了 docker 緩存,但我認為這不是它的作用?

FROM ubuntu:20.04

RUN apt-get -y update
RUN apt-get -y install ruby
RUN apt-get -y install ruby-dev
RUN apt-get -y install gcc
RUN apt-get -y install make
RUN gem install compass
RUN apt-get -y install nodejs
RUN apt-get -y install npm
RUN apt-get -y install git

這會將 apt-get 包存儲在 docker 緩存中,因此無需重新下載。 我認為您需要使用 buildkit。

# syntax=docker/dockerfile:1.3.1
FROM ubuntu

RUN --mount=target=/var/lib/apt/lists,type=cache \
    --mount=target=/var/cache/apt,type=cache \
    rm -f /etc/apt/apt.conf.d/docker-clean \
    && apt-get update \
    && apt-get -y --no-install-recommends install \
        ruby ruby-dev gcc

請注意,如果某些階段是並行構建的,這可能會破壞多階段或多架構構建。 一個進程將鎖定 apt 包,而另一個進程將出錯。 在這種情況下,請參閱此問題此文檔以獲取可能的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM