У меня есть приложение с этой структурой.
/path/releases
/path/releases/01012016
/path/releases/16012016
/path/releases/etc..
А также
/path/dev
(символическая ссылка на какую-то версию)/path/stag
/path/stable
(символическая ссылка на некоторыеМой docker-compose.yml выглядит так:
nginx:
...
volumes_from:
- data
php:
...
volumes_from:
- data
data:
volumes:
- /path/stable:/var/www
Я знал, что Docker разрешает символические ссылки. Я думал, прежде чем развернуть я просто воссоздавать контейнер данных и все в порядке. Но это не так.
Я должен воссоздать все контейнеры, берущие объемы из контейнера данных.
Есть идеи как сделать лучше, я имею ввиду лучше автомат? Удалить символические ссылки и поставить последнюю версию docker-compose
? Отметить родительскую папку как том и разрешить ее с помощью относительной символической ссылки? Или любое другое решение.
Какое решение лучше для вас. Какая лучшая практика
Спасибо. Феликс
Если вы просто хотите сделать его более автоматическим, воссоздание всех контейнеров в одном docker-compose.yml может быть достигнуто с помощью docker-compose up --force-recreate
,
Другое решение будет:
/path:/var
…затем ln -s /path/releases/06012016 /path/www
когда ты хочешь измениться
Мне не очень нравится это решение, так как оно раскрывает все ваши релизы внутри ваших контейнеров. Я предпочел бы пойти на полный перезапуск —force-воссоздать.
Других решений пока нет …