gpt4 book ai didi

docker - 使用 dind 的 Gitlab runner 导致错误服务器行为不当

转载 作者:行者123 更新时间:2023-12-05 06:20:32 28 4
gpt4 key购买 nike

我一直在尝试在 gitlab-runner 中启动和运行 docker,但不断收到如下错误或 无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。 docker 守护进程是否正在运行?

.gitlab-ci.yml

build:
stage: build
image: docker:latest
services:
- name: docker:dind
alias: docker
entrypoint: ["env", "-u", "DOCKER_HOST"]
command: ["dockerd-entrypoint.sh"]
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
script:
- docker info

结果:

$ docker info
Client:
Debug Mode: false

Server:
ERROR: error during connect: Get http://docker:2375/v1.40/info: dial tcp: lookup docker on 10.233.0.3:53: server misbehaving
errors pretty printing info

Runner 未处于特权模式。有没有办法在没有特权模式的情况下在 runner 中构建 docker 镜像?

如果没有,还有其他做法吗?这个标志带来了什么重要的缺点?

最佳答案

还没有设法让 dind 工作,所以我遇到了 kaniko工具并设法构建图像,将其推送到 gitlab 存储库,并在此管道中的其他作业中使用它。

gitlab-ci.yml 中缩小了此作业的定义:

build:
stage: build
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE

Gitlab 的 documentation .

关于docker - 使用 dind 的 Gitlab runner 导致错误服务器行为不当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60377338/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com