如何使用访问令牌从 Gitlab 推送和拉取 docker 镜像

KZi*_*vas 4 linux bash shell gitlab docker

我正在尝试使用两因素身份验证将图像推送到 gitlab 注册表。它给了我这个错误消息:

unauthorized: HTTP Basic: Access denied\nYou must use a personal access token with 'api' scope for Git over HTTP
Run Code Online (Sandbox Code Playgroud)

我尝试使用此命令登录,但它仍然显示访问被拒绝:

docker login https://registry.gitlab.com/my_registry -u my_user_name -p my_public_key
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?如何使用公钥推送和拉取图像?

KZi*_*vas 11

好吧,我发现我的错误是使用 my_public_key 但我应该使用 gitlab 访问令牌,而不是按照链接中的说明生成。

所以正确的命令是:

docker login https://registry.gitlab.com/my_registry -u my_user_name -p my_gitlab_token
Run Code Online (Sandbox Code Playgroud)

或者更好的是,出于安全目的,不要在命令中提供密码,而是在命令后出现提示时提供密码,如下所示:

docker login https://registry.gitlab.com/my_registry -u my_user_name
Run Code Online (Sandbox Code Playgroud)