Docker не обновляет контейнер службы в compose после обновления образа, на котором она основана - PullRequest
0 голосов
/ 05 января 2019

У меня есть базовый образ с некоторыми приложениями, которые я редко обновляю. Затем у меня есть изображение, которое чаще всего обновляется и использует этот базовый образ (с FROM в Dockerfile). Наконец, у меня есть docker-compose на производственном сервере, который создает несколько сервисов, используя URL-адрес образа приложения (URL-адрес в автономном реестре). Сервисы имеют разные переменные и команды env.

Когда мне нужно обновить сервис на производстве, я создаю только образ приложения (не базовый образ). После этого я помещаю новый образ в реестр и отмечаю его дважды, один раз отметкой времени и один раз последним.

Затем я иду на рабочий сервер и docker-compose pull образ и, наконец, я docker-compose up -d.

Я ожидаю, что образ службы обновляется, но когда я exec -it <id> bash захожу в службу, я не вижу обновленных файлов, как они должны.

Новое изображение определенно вытягивается, хотя, когда я run -it <id> bash в изображение, я вижу обновленные файлы.

1 Ответ

0 голосов
/ 06 января 2019

Запустите стек, используя docker-compose up --build -d, в противном случае, если образ projectname_service уже существует, он просто запустит его и не перестроит слои, в которых он нуждается. И если базовое изображение обновлено, у него должен быть новый тег, который вы должны обновить в своем выражении FROM вверху, чтобы вызвать полное перестроение изображения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...