Docker не удалось получить изображение с указанными политиками

Я создаю свой поток CI с помощью Docker и Gitlab.

Я registered docker-runner in my server и убедился the image I built is in the server с помощью «cmd: docker images», но продолжаю видеть сообщение об ошибке ниже.

Согласно gitlab-ci.yml, когда я отправляю код, поток CI будет запущен и создаст «тест» моей базы кода в контейнере.

Спасибо за вашу помощь!

Это мой .gitlab-ci.yml

stages: 
    - build

build-code:
  stage: build
  script:
    - docker-compose up build

И docker-compose.yml:

version: '3'

services:
  build:
  volumes:
    - .:/test
  command: /bin/bash -c "\
    cd /test/cpp && \
    mkdir -p build && \
    cd build && \
    cmake .. && \
    make -j12"

обновление: кажется, нет эффекта

Поведение агентов gitlab по умолчанию — «всегда тянуть», что вы можете видеть на скриншоте. Это означает, что даже если у вас есть локальная копия изображения, агент попытается получить ее снова, если она изменилась. Чтобы изменить это, вам нужно отредактировать файл /etc/gitlab/config.

Chris Doyle 23.04.2024 12:16
docs.gitlab.com/runner/configuration/…
Chris Doyle 23.04.2024 12:23
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
2
137
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Возможно, вам придется изменить pull_policy на if-not-present в config.toml. В противном случае он будет каждый раз пытаться получить изображение, даже если оно уже существует.

[[runners]]
  (...)
  executor = "docker"
  [runners.docker]
    (...)
    pull_policy = "if-not-present"

Документ Gitlab

Привет, похоже, нет эффекта, я обновил скриншот. Пожалуйста, посмотрите, спасибо!

Weimin Chan 23.04.2024 12:40

Вы перезапустили бегун? Какой сейчас результат? Пожалуйста, публикуйте выводной текст, а не изображения. Ваш бегун работает как контейнер? Вы можете попробовать изменить pull_policy на never.

Tschösi 23.04.2024 12:52

На самом деле я перерегистрирую gitlab-runner, но файл config.toml становится пустым. Означает ли это, что я его не успешно зарегистрировал? Но я все еще вижу зеленый свет на странице запуска Gitlab.

Weimin Chan 23.04.2024 13:07

Есть ли способ сбросить файл конфигурации?

Weimin Chan 23.04.2024 13:12

Сначала вам нужно предоставить основную информацию. Как ты бегаешь на бегуне?

Tschösi 23.04.2024 13:14

Я загружаю образ на сервер, на котором установлены докер и gitlab-runner, затем регистрирую бегун в соответствии с инструкциями на веб-странице gitlab. После того, как я вижу зеленый свет на странице регистрации бегуна, что означает, что бегун работает правильно, я пытаюсь отправить свой код в gitlab.

Weimin Chan 23.04.2024 13:19

Другие вопросы по теме

Может ли каждый зарегистрированный пользователь gitlab пройти аутентификацию через приложение, принадлежащее пользователю?
Основная ветка зеркального репозитория (X) отличается от зеркального репозитория (Y), и Gitlab не может синхронизировать зеркало с последними обновлениями
Передача клиента Gitbeaker API между функциями
Попробуйте принять мистера в gitlab-ci, иногда получите сообщение «Ветка не может быть объединена»
Как запустить конвейер CI/CD только в главной ветке, используя конфигурацию GitLab CI/CD?
Используя автомасштабирование исполнителя docker.machine, невозможно настроить docker: dind
Gitlab CI: ошибка выдачи триггерного задания – неизвестный ключ: стратегия
Gitlab ci не запускает мои скрипты, поскольку для этого требуется подключение к базе данных
Конвейер GitLab завис при оценке $CI_COMMIT_TAG
Почему я получаю сообщение ssh: тайм-аут операции в Gitlab runner?

Похожие вопросы

Могу ли я получить доступ к своему серверу Node.js в контейнере с помощью localhost?
Как создать экземпляр AWS Elastic Beanstalk с использованием Docker-контейнера в частном реестре контейнеров AWS?
Как скопировать файлы require.txt и setup.py в образ Docker из родительской папки
«Не найдено подходящего дистрибутива для <пакета> (недоступно)» при установке пакета Python в Docker из «внутреннего» репозитория GitHub
Docker-контейнер Cosmos DB просто зависает при вызове методов CosmosClient
Задание cron не запускается в моем контейнере Docker, запущенном Visual Studio
Пытаюсь Dockerize приложение Maven, но получил «выпуск версии 21 не поддерживается»
Docker — «Ошибка при подключении тома — нет маршрута к хосту» — невозможно получить доступ к локальной сети из контейнера Docker
Невозможно подключиться к SQL Server, работающему в докере, из приложения, работающего в докере
Невозможно получить доступ к приложению ASP.NET Core, работающему в докере