gpt4 book ai didi

python - Docker不复制 Assets 文件夹

转载 作者:行者123 更新时间:2023-12-02 18:59:15 25 4
gpt4 key购买 nike

我没有.dockerignore文件,但是Docker在构建时不会将 Assets 文件夹复制到图像。

项目:

  • Assets
  • 模型
  • v1
  • src
  • 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)

    Dockerfile:
        FROM python:3

    WORKDIR /app

    COPY requirements.txt ./
    RUN pip install --no-cache-dir -r requirements.txt

    COPY . .

    CMD ["python3","src/app.py"]

    当我运行项目图像时,Python抛出此错误:

    enter image description here
  • 当我在没有Docker的情况下运行应用程序时,没有问题。
  • 最佳答案

    CMD ["python3","src/app.py"]

    观察此语句,您正在 app.py文件夹外部而不是 src文件夹内部运行 src脚本。
    因此, open()函数采用绝对路径或相对路径。当涉及到相对路径时,您需要提供从运行python脚本 app.py的位置开始的路径,就像在 src文件夹之外运行时一样,因此,还应该以相同的方式指定路径。就是 assests/models/v1/model_architecture_V1.json
    与docker文件无关,或者它在这里。您应该了解如何在容器中进行目录的复制和移动,然后了解python的性质,您需要根据运行脚本的位置(而不是相对于脚本的位置)提供相对路径。 python脚本 app.py

    关于python - Docker不复制 Assets 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62094297/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com