开发者问题收集

docker-credential-desktop 未安装或在 PATH 中不可用

2021-05-21
107618

我的 Mac 上的 Docker 安装可能有点混乱。 起初我安装了 Docker 桌面版,但运行它后我发现,由于我使用的是较旧的 Mac,因此必须安装 VirtualBox,因此我按照以下步骤操作:

  1. 为用户启用 /usr/local/bin 文件夹的写入功能

    sudo chown -R $(whoami) /usr/local/bin

  2. 安装 Docker-Machine

base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
  chmod +x /usr/local/bin/docker-machine
  1. 从开发帐户手动安装 Xcode CLI

  2. 安装 Home Brew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 安装 Docker + wget(使用Brew)

    brew install docker

    brew install wget

  2. 安装 bash 完成脚本

base=https://raw.githubusercontent.com/docker/machine/v0.16.0
for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
do
    sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
done
  1. 启用 docker-machine shell 提示符

    echo 'PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '' >> ~/.bashrc

  2. 安装 VirtualBox、ExtensionPack 和 SDK: https://www.virtualbox.org/wiki/Downloads

我现在使用 home-brew 安装了 docker-compose(docker-compose 版本 1.29.2,版本未知),但在运行 docker-compose up 时出现以下错误:

docker.credentials.errors.InitializationError: docker-credential-desktop not installed or not available in PATH

which docker 打印 /usr/local/bin/docker。

Brew 安装在 /usr/local/Cellar/docker/20.10.6/usr/local/Cellar/docker-compose/1.29.2 中。 据我所知,docker-machine 也有一个 home-brew,我是否应该通过 home-brew 安装 docker-machine?

我可以检查什么来确保我使用 home-brew 中的 docker 安装并擦除/更正上述步骤所做的安装?

3个回答

检查您的 ~/.docker/config.json 并将“credsStore”替换为“credStore”

{
  "stackOrchestrator" : "swarm",
  "experimental" : "disabled",
  "credStore" : "desktop"
}

sixrandanes
2021-06-30

~/.docker/config.json 中,只需将 credsStore 更改为 credStore

Ivan
2021-10-16

由于您使用的是 Mac,因此可以改用 docker-credential-osxkeychain

  1. 安装 docker-credential-helper

    brew install docker-credential-helper
    
  2. 验证 docker-credential-osxkeychain 是否可用。

    $ docker-credential-osxkeychain version
    0.6.4
    
  3. ~/.docker/config.json 中将 credsStore 设置为 osxkeychain

    {
    "auths": {
    "https://index.docker.io/v1/": {}
    },
    "credsStore": "osxkeychain",
    "experimental": "enabled",
    "stackOrchestrator": "swarm"
    }
    
  4. 登录 Docker Hub。

    $ docker login -u $USER
    密码:
    登录成功
    
3ch01c
2022-07-06