У вас есть 2 варианта исправить это. Вам нужно будет отредактировать файл config.toml (он находится там, где вы установили бегун gitlab).
ОПЦИЯ 1
в config.toml:
privileged = true
в .gitlab-ci.yml:
myjob:
stage: myjob
image: docker:latest
services:
- docker:18.09.7-dind # older version that does not need demand TLS (see below)
ВАРИАНТ 2
в config.toml:
privileged = true
volumes = ["/certs/client", "/cache"]
в .gitlab-ci.yml:
myjob:
stage: myjob
image: docker:latest
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay2 # not sure if this is needed
DOCKER_TLS_CERTDIR: "/certs"
ВАЖНО: ПОСЛЕ ВНЕСЕНИЯ ИЗМЕНЕНИЙ в config.toml ВАМ, вероятно, потребуется ПЕРЕЗАПУСК GITLAB RUNNER (который может варьироваться в зависимости от ОС) - Я ПЕРЕЗАПУСКАЛ MINE, НЕ УВЕРЕН, ЧТО БЫЛО, ЕСЛИ ВЫ НЕ ЗАПУСКАЛИ ЕГО!
Инструкции по перезапуску gitlab runner находятся здесь ... https://docs.gitlab.com/runner/commands/ ... в основном gitlab-runner restart
но в Windows мне пришлось использовать службы Windows, чтобы перезапустить его
Почему эта проблема?
priviledged=true
избавляется от докера: команда не найдена проблема
Однако docker:dind
теперь требует сертификатов TLS (какими бы они ни были). Если вам нравится более старая версия докеров, вы можете использовать ВАРИАНТ 1. Если вам нужна последняя версия, вам нужно настроить Gitlab CLI, чтобы использовать их, что является ВАРИАНТОМ 2. J.E.S.U.S любит вас :)
Для получения дополнительной информации ... https://about.gitlab.com/blog/2019/07/31/docker-in-docker-with-docker-19-dot-03
person
danday74
schedule
23.01.2021