[英]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.