【问题标题】:Azure CLI cannot conect to the Docker DaemonAzure CLI 无法连接到 Docker 守护程序
【发布时间】:2021-02-26 06:59:51
【问题描述】:

我是 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。

【问题讨论】:

  • 如何“尝试登录 ACR”?
  • 确保 docker 在你的机器上运行
  • @CSharpRocks az acr login --name myregistry
  • @AmitBaranes 它正在运行。同时我在本地使用一个 docker 容器,它工作正常

标签: azure docker kubernetes azure-cli docker-daemon


【解决方案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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-04
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 2017-06-14
      相关资源
      最近更新 更多