Ответ 1
Я думаю, вам может понадобиться то, что я описал здесь fooobar.com/info/559815/...
Проблема с томами заключается в том, что когда контейнер воссоздается, а не docker-compose down
, а скорее docker-compose pull + up
, новый контейнер не будет иметь ваш "новый код, сохраненный в томе", а скорее из-за переработанного тома, еще старый объем анонов. Дело в том, что в любом случае вам понадобится объем анода для кода, так как вы хотите его перераспределить, а не именованный том, так как вы хотите, чтобы код был заменяемым.
При повторном создании анонимного тома не удаляется, так что скажем, у вас есть изображение: v1 прямо сейчас, и вы тянете изображение: v2, а затем делаете docker-compose up
. Он будет воссоздавать ваш контейнер на основе image:v2
- когда это будет завершено, у вас будет новый контейнер, но код все еще находится из старого контейнера, который был основан на изображении: v1, так как анон-том не был заменен, он был повторно назначен. docker-compose down && docker-compose up
решит это для вас - но вы должны помнить об этом, когда имеете дело с вашей идеей. (вниз удаляет анонные объемы)
В общем, есть pro/con, см. мой другой пост.
Контейнеры данных вообще имеют другое значение и заменены так называемыми именованными томами. Контейнеры данных были использованы для установки тома, который "назван" и не основан на анонсе.
В прошлом вам нужно было создать контейнер с томом, а позже использовать монтировку этого тома на основе контейнера (контейнер будет частью статического/имени), сегодня вы просто создаете именованный том name
и смонтировать с помощью этого имени тома, нет необходимости в том, что для жесткого диска, основанного на контейнерах, на основе busybox killed after start
.