gpt4 book ai didi

docker - 在GitLabCI管道中构建docker镜像

转载 作者:行者123 更新时间:2023-12-02 18:20:38 24 4
gpt4 key购买 nike

我在GitLabCI上有问题,我正在gitlab.com上使用它。

我的.gitlab-ci.yml中有这个

dockerization:
image: docker:latest
stage: dockerization
variables:
DOCKER_IMAGE_TAG: "eu.gcr.io/sample-project/sample-app"
script:
- docker version
- echo "$SERVICE_ACCOUNT_KEY" > key.json
- docker login -u _json_key --password-stdin https://eu.gcr.io < key.json
- docker push ${DOCKER_IMAGE_TAG}
only:
- master

我在管道中收到错误:
$ docker version
Client: Docker Engine - Community
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:46:51 2018
OS/Arch: linux/amd64
Experimental: false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
ERROR: Job failed: exit code 1

我尝试将 DOCKER_HOST: "tcp://127.0.0.1:2375"添加到作业或/和 DOCKER_HOST: "tcp://localhost:2375"中, DOCKER_HOST: "tcp://docker:2375"但没有效果。

这个问题有解决方案吗?我的管道声明有问题吗?

干杯

最佳答案

DOCKER_HOST: "tcp://docker:2375"是正确的解决方案,但您需要添加

 services:
- docker:dind

这实际上将在 docker主机名上启动守护程序。它记录在 Building Docker images with GitLab CI/CD上(只有第3点与您有关)

但是该页面上的其他主题应该会让您进一步感兴趣,例如 Making docker-in-docker builds faster with Docker layer caching

可以在 GitLab CI Services上找到有关gitlab CI中服务的更多信息。简而言之,就像使用docker-compose为您的主要容器使用“伴侣”容器一样。

关于docker - 在GitLabCI管道中构建docker镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54081622/

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