簡體   English   中英

為什么“docker image build”會占用這么多空間?

[英]Why does “docker image build” occupy so much space?

我有一個文件夾,其中包含代碼 + 神經網絡權重 + 惱人指數,大約需要 16 GB。 該文件夾還包含Dockerfilerequirements.txt 當我調用docker build.

  • 第一步Sending build context to Docker daemon占用 16 GB 空間
  • 步驟ADD. /model ADD. /model占用 32 GB 空間。 最終,它釋放了 16 GB

因此,我需要至少 48 GB 的存儲空間才能成功構建。 這是我的最低限度的 dockerfile

FROM python:3.8.5
WORKDIR /model
RUN pip install -r requirements.txt
ADD . /model
CMD ["python", "deploy.py"]

我怎樣才能解決這個問題? 似乎數據是從當前目錄多次復制的。

Docker 客戶端默認發送 Dockerfile 所在的整個目錄作為 Docker 守護程序的build context

您可以嘗試使用.dockerignore從上下文中消除不必要的內容,或者通過卷將該數據帶入容器,而不是在構建時復制它。

像這樣的東西:

docker run -v <path-to-your-model-on-the-host-machine>:<path-where-you-want-the-data-inside-the-container> ...

請注意,這將允許容器更改來自主機的數據。

暫無
暫無

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

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