【发布时间】:2020-05-29 20:41:31
【问题描述】:
我没有 .dockerignore 文件,但 Docker 在构建时不会将 assets 文件夹复制到图像中。
项目:
- 资产
- 型号
- v1
- 型号
- 源代码
- venv
- Dockerfile
App.py:
import numpy as np
import tensorflow as tf
[...]
with open('../assets/model/v1/model_architecture_V1.json', 'r') as f:
model_json = f.read()
model.load_weights("../assets/model/v1/model_weight_V1.h5")
[...]
if __name__ == '__main__':
app.run(host='0.0.0.0', port=4000, debug=True)
Docker 文件:
FROM python:3
WORKDIR /app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python3","src/app.py"]
当我运行项目映像时,Python 会抛出这个错误:
- 当我在没有 Docker 的情况下运行应用程序时没有问题。
【问题讨论】:
-
如果你是具体的,
COPY ./assets /assets等呢? -
正如 Docker 文档中所解释的“目录本身没有被复制,只是它的内容。”。你的资产目录是包含文件还是空的?
-
本地运行时,是在
src目录还是上面的目录?我希望../assets路径被解释为相对于当前目录,而不一定是脚本目录。 -
你能用你得到的错误的实际文本替换那个图像吗?
标签: python docker docker-compose dockerfile