Я использую том между хостом и контейнером для приложения flask. Веб-часть моего docker -компонента выглядит следующим образом:
web:
restart: on-failure
container_name: web
build:
context: "."
dockerfile: "docker/Dockerfile.web"
ports:
- 5000:5000
volumes:
- database:/var/run/postgresql
- .:/usr/src/app
volumes:
database:
Вот мой Dockerfile:
FROM python
WORKDIR /usr/src/app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
CMD ["python", "./sources/app.py"]
Я думаю, что мои тома хорошо созданы, потому что когда я делаю и обновляю в app.py
от хоста app.py
из контейнера также обновляется. Но проблема в том, что когда я перезагружаю страницу из браузера, содержимое не обновляется .
Когда я делаю docker volume list
Я получил это:
DRIVER VOLUME NAME
local b26d14737c65ba4d26c3751ae898883e9062c4894a5fd31b191ffd9ded7f1d50
local web-app_database
Какой объем b26d14? Я не думаю, что он создан с docker -композицией. После запуска docker volume inspect
он возвращает:
[
{
"CreatedAt": "2020-03-21T10:41:19Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/b26d14737c65ba4d26c3751ae898883e9062c4894a5fd31b191ffd9ded7f1d50/_data",
"Name": "b26d14737c65ba4d26c3751ae898883e9062c4894a5fd31b191ffd9ded7f1d50",
"Options": null,
"Scope": "local"
}
]
Единственный способ заставить его работать - перезапустить контейнер.
Я нашел эту статью: ссылка , но это не решило мою проблему.
Docker версии:
- Docker версия 19.03.8, сборка afacb8b
- docker - составить версию 1.25.4, сборка 8d51620a
Есть идеи?
Спасибо за ответы и хорошего дня.