Gitlab.comにプライベートレポがあります。 GitLabの共有ランナーを使用してCI/CDパイプラインをすでにセットアップしています。コードプッシュでは、Dockerイメージが構築され、GitLab Private Dockerレジストリにログインして画像を押します。共有ランナーでうまく機能します。今、私はパイプラインのカスタムランナーを作成しようとしています。
Digitalocean(Ubuntu 18.04 - 8 GB/4 CPU/160 GB SSDのDocker 18.09.2~3)にドロップレットを作成しました。
液滴にSSH
ランナーを作成します( https://docs.gitlab.com/runner/install/docker.html#docker-image-installation-and-configuration )
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
_
登録して( https://docs.gitlab.com/runner/register/index.html#oneLine-Registration-Command )
docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image Alpine:3 \
--url "https://gitlab.com/" \
--registration-token "MY_TOKEN" \
--description "docker-runner" \
--tag-list "docker,digitalocean" \
--run-untagged="true" \
--locked="false"
_
パイプラインを実行すると、このコマンドで失敗します
docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
_
私も使うならば
docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
_
このエラーメッセージが表示されます
error during connect: Post http://docker:2375/v1.39/auth: dial tcp: lookup docker on 67.207.67.2:53: no such Host
_
ローカルPCを使用すると、私はまた同じエラーを得ます。
私は成功しない/ etc/hostsの編集を試みました。
まだ共有ランナーで動作しますが、カスタムランナーで失敗します。何が行方不明ですか?
ドッカー情報
Containers: 4
Running: 1
Paused: 0
Stopped: 3
Images: 4
Server Version: 18.09.2
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge Host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
runc version: 09c8266bf2fcf9519a651b04ae54c967b9ab86ec
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-45-generic
Operating System: Ubuntu 18.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.79GiB
Name: docker-s-4vcpu-8gb-sgp1-01
ID: XF6Y:25TY:YXNO:RDHT:PEGU:KGR7:GPEM:DDBE:MAQ5:5VIJ:4GHB:Q7TF
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
_
これは、パイプラインを正常に処理する共有ランナーの/ etc/hostsファイルです。
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 0hshit.hopto.org
127.0.0.1 daymndaymn.myftp.org
127.0.0.1 loba.webhop.me
172.17.0.3 docker 50d9e6c88489 runner-72989761-project-11958054-concurrent-0-docker-0
172.17.0.4 runner-72989761-project-11958054-concurrent-0
_
同じ問題がありました。
error during connect: Post http://docker:2375/v1.40/auth: dial tcp: lookup docker on 8.8.8.8:53: no such Host
この問題はJekyllランナーにも登場しました。 (冗長なので)Jekyllランナーを無効にし、新しく実装されたgitlab-runnerのconfigを変更して変更します。
/etc/gitlab-runner/config.toml
debian 10マシンで。
エラーは、前のコメントで述べたようにDockerバージョンに関連して、gitlabの issue tracker :
image = "docker:stable"
それ以外の:
image = "debian:stable"
(gitlabが提供されたPackageを使用してDebianマシンにインストールされているデフォルトのgitlab runner configを使用して)。この行は[[runners]]
セクションにあります。
GitLab Tomlファイル全体:
concurrent = 1
check_interval = 5
log_level = "debug"
[session_server]
session_timeout = 1800
[[runners]]
name = "ecollect-docker-01"
url = "https://mygitlabinstance.example.com/"
token = "mys3cr3tt0ken"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.Azure]
[runners.docker]
tls_verify = false
image = "docker:stable"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
shm_size = 0
私が助けたことを願っています!