Я запускаю развертывание докера для приложения. Я монтирую том, где я хочу, чтобы внешний путь был предоставлен переменной среды оболочки. Я получаю эту ошибку:
ERROR: for video-server Cannot create container for service video-server: invalid volume specification: '46b9d2fb3b9b13c9404d31bae571dac3f633122393c4a77f2561afb8aed5c06e:=/opt/videos:rw': invalid mount config for type "volume": invalid mount path: '=/opt/videos' mount path must be absolute
Моя конфигурация docker-compose такая:
video-server:
build:
context: .
dockerfile: video-server_Dockerfile
container_name: video-server
networks:
- videoManagerNetwork
environment:
- VIDEO_MANAGER_DIR=/opt/videos
volumes:
- ${VIDEO_MANAGER_DIR_PROD}=/opt/videos
ports:
- 9000:8080
Я могу видеть правильное значение переменной среды VIDEO_MANAGER_DIR_PROD, выполнив обе эти команды, поэтому я знаю, что она находится в моей оболочке:
echo $VIDEO_MANAGER_DIR_PROD
sudo echo $VIDEO_MANAGER_DIR_PROD
Что странно, если я выполню полную очистку конфигурации докера (sudo docker system prune --all --volumes
), а затем впервые запусту docker-compose (sudo docker-compose up -d
), все будет работать.
Однако, если я снимаю контейнер, перестраиваю его и пытаюсь снова выполнить ту же команду (sudo docker-compose up -d
), то я получаю сообщение об ошибке, показанное выше.
Была бы признательна за помощь. Спасибо.