Это топик c, в котором довольно много вопросов о StackOverflow и других форумах, и нет единого мнения о том, как «правильно» сделать эту работу.
Все ответы кажутся 'попробуйте это, это работает для меня'.
Я пытаюсь вызвать контейнеры на удаленном сервере, где ВСЕГДА извлекается новый образ из хранилища, ЕСЛИ той же версии нет в кэше , Итак, я не ищу решение, которое отключает кеш.
Кроме того, большинство ответов, кажется, отличаются, потому что docker -compose сделал некоторые выборы, касающиеся перестройки контейнеров и поддержания томов живыми, а люди по-разному необходимо. В моем случае меня не волнуют тома, они могут быть уничтожены.
Итак, что я делаю:
docker-compose -f /app/docker-compose.yml build --pull & docker-compose -f /app/docker-compose.yml up -d --build"
делает 'up --build' не извлекает контейнеры из репозитория, выполняя 'build -pull', как предполагается, но не делает; У меня все еще работают старые версии. Я не уверен, что добавление '--build' к команде 'up' имеет какое-либо применение, и если это означает, что делает команду build, то команду up ... это просто не очень понятно.
прямо сейчас команда выполняется безо всякой ошибки, она говорит мне, что собирать нечего, поскольку контейнер создается из образа и .. он запускает старый код.
в локальной системе, где создаются образы и, следовательно, доступны локально, новые изображения взяты, поэтому контейнеры действительно восстанавливаются из изображения. на удаленном сервере он не извлекает изображения из gitlab, и я понятия не имею, почему.
, поэтому мой вопрос: как я могу убедиться, что он проверяет наличие нового удаленного образа, а затем использовать это?