При локальном тестировании ../assets/..
действительно. Но во время сборки Docker папки Dockerfile и assets расположены на одном уровне. Итак, вам нужно изменить путь к файлу на assets/..
. Чтобы справиться с этим эффективно, в Python проверьте os.path.join
.
Step 3/6 : COPY . .
---> 49a93d46bdde
Step 4/6 : RUN ls -lah
---> Running in f57d57b59dce
total 24K
drwxr-xr-x 1 root root 4.0K May 29 21:21 .
drwxr-xr-x 1 root root 4.0K May 29 21:21 ..
-rw-r--r-- 1 root root 168 May 29 21:19 Dockerfile
drwxr-xr-x 3 root root 4.0K May 29 20:53 assests
drwxr-xr-x 2 root root 4.0K May 29 21:21 src
drwxr-xr-x 2 root root 4.0K May 29 20:54 venv
---
with open('assests/models/v1/model_architecture_V1.json', 'r') as f:
model_json = f.read()
Пример вывода
docker run harik8/app:latest
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}