避免在每个Docker版本上重新安装软件包
当我构建需要TensorFlow(导入TensorFlow)的新python应用程序的映像时,docker每次都会安装520MB的TensorFlow 如何避免这种情况?意味着只下载tensorflow一次,并在构建多个图像时使用它 Dockerfile避免在每个Docker版本上重新安装软件包,docker,docker-build,Docker,Docker Build,当我构建需要TensorFlow(导入TensorFlow)的新python应用程序的映像时,docker每次都会安装520MB的TensorFlow 如何避免这种情况?意味着只下载tensorflow一次,并在构建多个图像时使用它 Dockerfile FROM python:3 WORKDIR /usr/src/app COPY model.py . COPY model_08015_07680.h5 . COPY requirements.txt . COPY images . COP
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
请使用下面的
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"]
请使用下面的
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"]
您不需要单独复制每个文件,这不是最佳选择 另外,请记住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"]
您不需要单独复制每个文件,这不是最佳选择 另外,请记住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"]
您可以添加
Dockerfile
?我已经添加了Dockerfile。请查看下面的内容,如果您仍然面临任何问题,请告诉我。我强烈建议您查看这些问题,特别是技巧10(在单独的步骤中提取依赖项)和技巧11(使用多阶段生成删除生成依赖项)。如果您想对多个不同的图像重复使用您的依赖关系,您最好的选择是使用TensorFlow自己创建一个基础图像,或者在中搜索一个。这是否回答了您的问题?您可以添加Dockerfile
?我已经添加了Dockerfile。请查看下面的内容,如果您仍然面临任何问题,请告诉我。我强烈建议您查看这些问题,特别是技巧10(在单独的步骤中提取依赖项)和技巧11(使用多阶段生成删除生成依赖项)。如果您想对多个不同的图像重复使用您的依赖关系,您最好的选择是使用TensorFlow自己创建一个基础图像,或者在中搜索一个。这是否回答了您的问题?等等,等等,我的疑问是1。现在我正在包装一个需要tensorflow的python应用程序。所以docker将安装tensorflow 2。但现在如果我想了解需要tensorflow的完全不同的python应用程序,那么docker将再次安装tensorflow,那么如何避免这种情况呢?然后为此目的,使用tensorflow创建一个基本映像,然后在每个Dockerfile
中使用该基本映像。您能提供代码吗(如如何创建tensorflow的基本图像并将其用于另一个dockerfile)如果你想要一个tensorflow
特定的基本映像,那么使用dockerhub上已经存在的tensorflow/tensorflow
映像。如果你还想安装其他东西,那么通过运行前3行来创建一个基本映像。等等,我的疑问是1。现在我正在封装一个python应用程序n需要tensorflow。所以docker将安装tensorflow 2。但是现在如果我想对需要tensorflow的完全不同的python应用程序进行分析,那么docker将再次安装tensorflow,那么如何避免这种情况呢?为此,请使用tensorflow创建1个基本映像,然后在每个Dockerfile
中使用该基本映像e提供代码(例如如何创建tensorflow的基本映像并将其用于另一个dockerfile)?如果您想要一个tensorflow
特定的基本映像,那么可以使用dockerhub上已经存在的tensorflow/tensorflow
映像。如果您还想安装其他东西,请运行前3行创建一个基本映像