从 Gitlab 中删除用户后 Docker 拉取失败

问题描述 投票:0回答:1

今天我正在为不再活跃的开发人员清理旧的 Gitlab 帐户。我删除了负责所有初始部署基础设施的第一个开发人员的一个帐户。

我们使用 Docker 和 Gitlab CI/CD。据我所知,我们还使用 Gitlab 的包和/或容器注册表。

刚才去deploy了,pull好像不行:

*** System restart required ***
Pulling prerender ... done
Pulling mysql   ... done
Pulling mongo   ... done
Pulling server  ... error
Pulling client  ... error
Pulling nginx   ... done
Pulling redis   ... done
ERROR: for server pull access denied for registry.gitlab.com/foobar/repo-1, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
ERROR: for client pull access denied for registry.gitlab.com/foobar/repo-2, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
ERROR: pull access denied for registry.gitlab.com/foobar/repo-2, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

我不太熟悉 Docker 和 Gitlab 的 CI/CD/Registries 功能。任何关于从哪里开始寻找让事情重回正轨的建议都将不胜感激!

docker gitlab gitlab-ci gitlab-ci-runner docker-registry
1个回答
0
投票

事实证明,CI 正在使用该用户从 gitlab 注册表中获取 docker 镜像。

为了解决这个问题,我:

  1. 创建一个虚拟 gitlab 用户(@company-bot)并邀请该帐户加入我们的团队
  2. 为该用户创建个人令牌
  3. 登录到我们的生产实例并发出以下命令:
  • docker login registry.gitlab.com/company/repo1 -u company-bot -p personal-token
  • docker login registry.gitlab.com/company/repo2 -u company-bot -p personal-token

这样,登录凭据不会针对实际用户存储,因此将来删除用户应该是安全的。

© www.soinside.com 2019 - 2024. All rights reserved.