gpt4 book ai didi

docker - 如何将 GitLab CI 与自定义 Docker 镜像结合使用?

转载 作者:行者123 更新时间:2023-12-02 09:59:42 25 4
gpt4 key购买 nike

我做了一个简单的Dockerfile:

FROM openjdk
EXPOSE 8080

并使用以下方法构建图像:

docker build -t test .

我安装并配置了一个 docker GitLab CI 运行程序,现在我想将此运行程序与我的 test 镜像一起使用。所以我编写了以下 .gitlab-ci.yml 文件:

image: test

run:
script:
- echo "Hello world!"

但令我失望的是,找不到我可以在我的机器上使用的本地 test 镜像。

Running with gitlab-ci-multi-runner 9.4.2 (6d06f2e)
on martin-docker-rawip (70747a61)
Using Docker executor with image test ...
Using docker image sha256:fa91c6ea64ce4b9b44672c6e56eed8312d0ec2afc80730cbee7754bc448ea22b for predefined container...
Pulling docker image test ...
ERROR: Job failed: Error response from daemon: repository test not found: does not exist or no pull access

我什至不知道发生了什么。如何让运行者意识到我制作的这张图片?

最佳答案

我也有同样的问题。我在这里找到了答案:https://forum.gitlab.com/t/runner-cant-use-local-docker-images/5507/6

/etc/gitlab-runner/config.toml中添加以下内容

[runners.docker]
# more config for the runner here...
pull_policy = "if-not-present"

更多信息请点击:https://docs.gitlab.com/runner/executors/docker.html#how-pull-policies-work

我的Dockerfile

FROM node:latest
RUN apt-get update -y && apt-get install openssh-client rsync -y

在运行者上我构建了图像:

docker build -t node_rsync .

使用此运行器的项目中的 .gitlab-ci.yml

image: node_rsync

job:
stage: deploy
before_script:
# now in the custom docker image
#- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ssh-add <(tr '@' '\n' <<< "$STAGING_PRIVATE_KEY" | base64 --decode)
# now in the custom docker image
#- apt-get install -y rsync
script:
- rsync -rav -e ssh --exclude='.git/' --exclude='.gitlab-ci.yml' --delete-excluded ./ $STAGING_USER@$STAGING_SERVER:./deploy/
only:
- master
tags:
- ssh

关于docker - 如何将 GitLab CI 与自定义 Docker 镜像结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45614854/

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