当我构建需要TensorFlow(导入tensorflow)的新python应用程序的映像时,每次docker安装520 MB的TensorFlow时。
如何避免这种情况?意味着只下载一次tensorflow并在构建许多图像时使用它?
Dockerfile
FROM python:3
WORKDIR /usr/src/app
COPY model.py .
COPY model_08015_07680.h5 .
COPY requirements.txt .
COPY images .
COPY labels.txt .
COPY test_run.py .
RUN pip install --no-cache-dir -r requirements.txt
CMD ["python","./test_run.py"]
requirements.txt
numpy
opencv-python
tensorflow
答案 0 :(得分:0)
请使用下面经过优化的Dockerfile
,因为它不会一次又一次地安装依赖项,除非/除非您更改requirements.txt
FROM python:3
WORKDIR /usr/src/app
#Copy Requirements
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
#Copy everything later, as below parts will be changing and above part will be used from cache
COPY model.py .
COPY model_08015_07680.h5 .
COPY images .
COPY labels.txt .
COPY test_run.py .
CMD ["python","./test_run.py"]
答案 1 :(得分:0)
您不需要分别复制每个文件,这不是最佳选择。
另外,请记住,docker是由层构建的,因此似乎可能发生变化的每一行都走到最底端。
FROM python:3
WORKDIR /usr/src/app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
#Copy everything
COPY . .
CMD ["python","./test_run.py"]