gitlab - Gitlab CI, DIND
问题描述
尝试使用 gitlab-ci 和 dind 执行作业时,我一直遇到基本的身份验证错误。我似乎无法弄清楚这一点。我可以看到第一次登录工作正常,但是当它尝试进行构建时,它失败了。
具有特权的 Gitlab-Runner
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "stg-runner-1"
url = "https://private-repo.com/"
token = "xxxxxxxxxxxxxxxx"
executor = "docker"
environment = ["DOCKER_TLS_CERTDIR=", "DOCKER_HOST=tcp://docker:2375/", "DOCKER_DRIVER=overlay2"]
[runners.custom_build_dir]
[runners.docker]
tls_verify = false
image = "stable-git"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
.gitlab-ci 稍后在构建完成后调用发布脚本。
image: private-repo:6000/docker/image-docker:latest
services:
- docker:stable-dind
variables:
IMAGE_GROUP: docker
IMAGE_NAME: sfcc-docker
before_script:
- chmod +x docker_publish
snapshot:
except:
- master
script:
- docker images list
- ./docker_publish -g $IMAGE_GROUP -n $IMAGE_NAME
- docker images list
release:
only:
- /^v\d{1,}[.]\d{1,3}[.]\d{1,3}$/
script:
- ./docker_publish -g $IMAGE_GROUP -n $IMAGE_NAME -c $CI_COMMIT_TAG -r
Dockerfile:如果我使用 docker build 工作正常。
#FROM docker:stable **using this works on build
FROM private-repo:6000/docker:stable #using this fails
RUN apk update \
&& apk add bash ca-certificates libressl-dev --no-cache \
&& rm -rf /var/cache/apk/*
COPY docker_publish /usr/local/bin/
COPY SomeCertStuff.crt /etc/ssl/certs/
COPY SomeCertstuff.crt /etc/ssl/certs/
RUN update-ca-certificates --fresh
这是我在下面遇到的错误。
Skipping Git submodules setup
Authenticating with credentials from $DOCKER_AUTH_CONFIG
$ chmod +x docker_publish
$ docker images list
REPOSITORY TAG IMAGE ID CREATED SIZE
$ ./docker_publish -g $IMAGE_GROUP -n $IMAGE_NAME
g:docker
n:sfcc-docker
Dockerfile not specified. Using "Dockerfile" from script path.
Docker Login Success.
Sending build context to Docker daemon 79.87kB
Step 1/6 : FROM private-repo.com:6000/docker:stable
Get https://private-repo.com:6000/v2/docker/manifests/stable: no basic auth credentials
ERROR: Job failed: exit code 1
任何建议都会很棒。谢谢
解决方案
推荐阅读
- python - 使用文本变量时更改 tkinter 按钮中的字体大小
- php - 按属性值减少和检查可变产品的库存
- javascript - 为什么我在这个 React/Typescript 应用程序中收到没有导出成员的错误?
- java - 编写一个提示输入数字并从该数字开始倒计时的 Java 程序
- jquery - 如何使用 jquery 将选定行中的数据复制到另一个表中的文本框?
- c++ - 将 opencv 重映射代码从 c++ 转换为 python
- bash - 将参数从文件传递到从 dockerfile 运行的脚本
- sql - PostgreSQL 反向 LIKE 与 json 数组中的模式
- python - 如何从excel文件中提取列?
- java - JavaFX WebView 打开旧版本的网站