0

我是 Kubernetes 和 Azure 的新手。我想部署我的应用程序,我正在阅读有关 kubernetes 的微软教程。起初我创建了资源组和 ACR 实例。当我尝试登录 ACR 控制台时显示此错误: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

我正在使用 azure cli localy,并且正在运行 docker。

4

2 回答 2

1

您可以尝试以下选项来连接 ACR:

首先使用 --expose-token 参数运行 az acr login。此选项公开访问令牌,而不是通过 Docker CLI 登录。

az acr login --name <acrName> --expose-token

输出显示访问令牌,此处缩写为:

{
  "accessToken": "eyJhbGciOiJSUzI1NiIs[...]24V7wA",
  "loginServer": "myregistry.azurecr.io"
}

对于注册表身份验证,我们建议您将令牌凭据存储在安全位置,并遵循推荐的做法来管理 docker 登录凭据。例如,将令牌值存储在环境变量中:

TOKEN=$(az acr login --name <acrName> --expose-token --output tsv --query accessToken)

然后,运行 docker login,传递 00000000-0000-0000-0000-000000000000 作为用户名并使用访问令牌作为密码:

docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password $TOKEN

如果您遵循上述方法,您将获得以下提示:

WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
于 2021-12-23T11:11:47.727 回答
-1

似乎您的 Docker 桌面没有运行。确保您在您的机器上安装了 Docker for Desktop,如果没有,请启动它。一旦你开始,你应该很好。

于 2020-11-14T18:44:59.030 回答