Docker Compose — символическая ссылка в развертывании

У меня есть приложение с этой структурой.

  • /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? Отметить родительскую папку как том и разрешить ее с помощью относительной символической ссылки? Или любое другое решение.

Какое решение лучше для вас. Какая лучшая практика

Спасибо. Феликс

1

Решение

Если вы просто хотите сделать его более автоматическим, воссоздание всех контейнеров в одном docker-compose.yml может быть достигнуто с помощью docker-compose up --force-recreate,

Другое решение будет:

/path:/var

…затем ln -s /path/releases/06012016 /path/www когда ты хочешь измениться

Мне не очень нравится это решение, так как оно раскрывает все ваши релизы внутри ваших контейнеров. Я предпочел бы пойти на полный перезапуск —force-воссоздать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]