GitLab 러너와 DIND와 함께 GitLab을 사용하고 있습니다.도커 DIND가 개인 레지스트리에 액세스 할 수 없습니다.
구성 세부 : 제쳐두고
---------------------------------------
docker run --privileged --name gitlab-dind -d --restart=always docker:17.07-dind
---------------------------------------
cat gitlab_runner.sh
docker run -d --name gitlab-runner --restart always \
-v /mnt/data/gitlab/gitlab-runner:/etc/gitlab-runner \
--link gitlab-dind:docker \
gitlab/gitlab-runner:v9.5.0
---------------------------------------
cat /mnt/data/gitlab/gitlab-runner/config.toml
concurrent = 1
check_interval = 0
[[runners]]
name = "RunnerA"
url = "https://gitlab.dev.abc.net"
token = "d8ed43a69ebed74ccab2493857d8cb"
executor = "docker"
[runners.docker]
tls_verify = false
image = "docker:17.07"
privileged = false
disable_cache = false
volumes = ["/cache"]
host = "tcp://gitlab-dind:2375"
shm_size = 0
[runners.cache]
---------------------------------------
cat ~/wksp/test-proj/.gitlab-ci.yml
image: docker.artifactory.abc.net/docker:17.07
variables:
DOCKER_HOST: tcp://docker:2375
# This before_script block was added later but it seems this block
# isn't executed before the DIND tries fetching image from Artifactory
before_script:
- docker login -u svc-art-user -p some-pwd docker.artifactory.abc.net
- docker info
services:
- docker.artifactory.abc.net/docker:17.07-dind
build:
stage: build
script:
- docker build -t my-docker-node-image .
---------------------------------------
, 상기 구성에서, .gitlab-ci.yml
필요 DOCKER_HOST
구성 또는 config.toml
충분할 단지 엔트리 (host = "tcp://gitlab-dind:2375
)는 무엇입니까? 주자가 실행될 때
지금, 나는 다음과 같은 오류가 발생합니다 :
Runner log error:
Running with gitlab-ci-multi-runner 9.5.0 (413da38)
on RunnerA (d8ed43a6)
Using Docker executor with image docker.artifactory.abc.net/docker:17.07 ...
Starting service docker.artifactory.abc.net/docker:17.07-dind ...
Pulling docker image docker.artifactory.abc.net/docker:17.07-dind ...
ERROR: Preparation failed: Error response from daemon: Get https://docker.artifactory.abc.net/v2/: x509: certificate signed by unknown authority
내가 잘못 될 수 있지만,이 서비스 계정 (svc-art-user
가) 전에 를 로그인 할 수 없기 때문에이 오류가 보인다 DIND 이미지가 당겨집니다.
답장을 보내 주셔서 감사합니다. 미안하지만 나는 이미 이것을 시도했다고 언급하는 것을 잊어 버렸다. config.json의 내용을 복사했습니다. (호스트에서'docker login -u svc-art-user -p some-pwd docker.artifactory.abc.net' 명령을 실행 한 후 생성되었습니다.) _as is_는' 비밀 변수 '섹션에 있습니다. 그래도 오류는 계속 발생합니다. 컨테이너를 다시 시작할 필요가 없기를 바랍니다. 모든 (GitLab, Runner & DIND) 컨테이너가 하나의 호스트에서 실행 중입니다. – Technext
Gitlab 러너가 시작시 또는 런타임에이 변수를 선택하는지 확신 할 수 없기 때문에 Gitlab 러너를 다시 시작하십시오. –
러너와 도커 - dind를 다시 시작한 후에도 문제가 지속됩니다. : – Technext