Не могу понять можно, ли мне сделать свою задумку.
Есть сервис OSRM, который я хочу запускать в контейнере. У него есть 2 важных параметра, TAG, и карта с которой работает.
Я хочу эти данные использовать как параметры, чтобы в 1 месте поменял, и можно перейти на новую версию, не менять в командах, docker-compose файлах и т.д.
Думал это сделать через environment. Создал файл osrm.env с содержимым:
OSRM_TAG=v5.22.0
OSRM_MAP=/maps/russia.osrm
Создал docker-compose:
version: '2'
services:
osrm:
env_file:
- ./osrm.env
image: osrm/osrm-backend:${OSRM_TAG}
volumes:
- /home/djonik/maps:/maps
ports:
- "5000:5000"
container_name: osrm-routed
command: osrm-routed --algorithm mld ${OSRM_MAP}
Сделал
export OSRM_TAG=v5.21.0
для проверки, какое значение будет использоваться.
Но при команде docker-compose config получаю вывод:
djonik@sedi-doc1:~/sedi-docker/osrm$ docker-compose config
WARNING: The OSRM_MAP variable is not set. Defaulting to a blank string.
services:
osrm:
command: 'osrm-routed --algorithm mld '
container_name: osrm-routed
environment:
OSRM_MAP: /maps/ru_az_am_kg_ge_by_ua_cz.osrm
OSRM_TAG: v5.22.0
image: osrm/osrm-backend:v5.21.0
ports:
- 5000:5000/tcp
volumes:
- /home/djonik/maps:/maps:rw
version: '2.0'
Либо я что-то не правильно понимаю, либо расскажите как лучше сделать?
Или лучше не использовать environment?