web-dev-qa-db-ja.com

カスタムgitlab-runnerのDockerログイン:そのようなホストなし(http:// docker:2375 / v1.39 / auth:TCP:Lookup Dockerの172.31.0.2:53:なし)

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 
 _
7
ankit singh

同じ問題がありました。

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

私が助けたことを願っています!

0
Krasimir Koeff