0

我在 VM(Ubuntu)中有一个 Gitlab-Runner(版本:14.4.0)。码头工人版本是 20.10.10。一切都按预期工作。

然后我想删除文件夹“/var/lib/docker/vfs”中安装的图像。我已经完成了以下步骤。

systemctl stop docker

cd /usr/share/gitlab-runner
./clear-docker-cache prune

docker system prune -f --all

ls -la /var/lib/docker/vfs/dir/
# returns an empty dir which is what I want

systemctl daemon-reload
systemctl start docker

systemctl stop gitlab-runner
systemctl start gitlab-runner

之后我尝试使用这个 gitlab-runner 开始一个新的构建工作。不幸的是,Gitlab 运行器继续引用我已删除的图像。

当我想使用跑步者构建某些东西时,会出现以下错误消息。

Using Docker executor with image my-alpine:0.1.6 ...
ERROR: Preparation failed: adding cache volume: set volume permissions: create permission container for volume "runner-o19hepv1-project-133520-concurrent-0-cache-3c3f060a0374fc8bc39395164f415a70": Error response from daemon: 48ac0f992674b920004317b8b6fc91dbc72f01327ca96005f7b19693f3c128ca: stat /var/lib/docker/vfs/dir/48ac0f992674b920004317b8b6fc91dbc72f01327ca96005f7b19693f3c128ca: no such file or directory (linux_set.go:95:0s)

如何摆脱这些错误消息?我的方法做错了什么。原则上,我还希望一周后删除一次图像。

gitlab-runner systemd 服务以

/usr/bin/gitlab-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--user" "gitlab-runner"

并且配置(config.toml)是

concurrent = 5
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "my-gitlabrunner"
  url = "https://git.tech.rz.db.de/"
  token = "mytoken"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "alpine"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
4

0 回答 0