微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Sonatype Nexus 3 中使用私有 Docker 注册表的 Gitlab CI 的 DinD 配置

如何解决在 Sonatype Nexus 3 中使用私有 Docker 注册表的 Gitlab CI 的 DinD 配置

我已经完成了自己的设置Gitlab(-p 7022:22,7080:9080)、Gitlab Runner(-p 7093:8093)、Sonatype Nexus3(Maven、Docker、Helm)(-p 10081 :8081、10082:10082、10083:10083、10084:10084)所有这些都作为自己的 docker 镜像运行。直到 docker build 一切运行良好(下面的代码片段没有 docker build 相关代码)。问题是,我想将最终的 docker 映像上传到我的 Nexus3 Docker Registry,但我无法这样做。

我的 Gitlab Runner 配置如下

concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "testing dind runner"
  url = "http://192.168.0.250:7080/"    ----> Gitlab git repo external url
  token = "SOME TOKEN"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "docker:19.03.12"
    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

我在 Nexus3 中的 Docker 注册表托管如下
Web UI = http://192.168.0.250:10081/(容器内部端口为 8081,并在 10081 上暴露给主机)
Docker(Group) = 10084(通过docker暴露为同一个端口)
Docker(Hosted) = 10082(通过docker暴露为同一个端口)
Docker(Proxy) = 10083(通过docker暴露为同一个端口)

我的项目 CI 配置如下

image: docker:19.03.12

services:
  - name: docker:19.03.12-dind

variables:
  DOCKER_HOST: tcp://docker:2375
  DOCKER_TLS_CERTDIR: ""

before_script:
  - docker info
  - docker login -u nx-uploader -p 1234 192.168.0.250:10082

stages:
  - test docker reg

test-docker:
  stage: test docker reg
  script:
    - docker images
    - docker search httpd

我经常收到错误

$ docker login -u nx-uploader -p 1234 192.168.0.250:10082
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
error during connect: Post http://docker:2376/v1.40/auth: dial tcp: lookup docker on 192.168.0.1:53: no such host
ERROR: Job Failed: exit code 1

需要帮助/指示来解决这个问题。

提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。