То, что вы определяете в своем Dockerfile, выполняется в build-phase
(сборка), а не в container-deployment (run) phase
.
Вы создаете тома в фазе run
, поэтому /queue
не может по-прежнемуСуществовать.
Итак, я думаю, вам нужно выполнить фильтр-задачу от Dockerfile RUN command
до docker run
команды.
Просто попробуйте с этим: Dockerfile
ОТ альпийского: последняя КОПИЯ ./filter-task
Создать образ:
docker build -t process:latest .
Запустить контейнер с заданием фильтра в качестве точки входа, а не в Dockerfile:
docker run -v /opt/raw:/queue/raw process:latest filter-task /queue/raw
В этот момент, когда контейнер создается, том монтируется, и данные, хранящиеся в контейнере в / queue / raw, будут доступны в / opt / raw на хосте.Ваш том был пуст, потому что если вы смонтировали том, который фактически существует в контейнере, он не смонтирован.