docker-credential-desktop 未安装或在 PATH 中不可用
docker-credential-desktop not installed or not available in PATH
我的 Mac 上的 Docker 安装可能有点乱..
起初我安装了 Docker 桌面,但后来 运行 我了解到,因为我使用的是较旧的 Mac 我必须安装 VirtualBox,所以我按照以下步骤操作:
允许用户在 /usr/local/bin
文件夹上写入
sudo chown -R $(whoami) /usr/local/bin
安装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
安装Xcode CLI..从开发帐户手动安装
安装 Home Brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装 Docker + wget(使用 Brew)
brew install docker
brew install wget
安装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
启用docker机器shell提示
echo 'PS1='[\u@\h \W$(__docker_machine_ps1)]$ '' >> ~/.bashrc
安装 VirtualBox、ExtensionPack 和 SDK:https://www.virtualbox.org/wiki/Downloads
我现在用自制软件安装了 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 也有自制软件,我应该通过自制软件安装 docker-machine 吗?
我可以检查什么来确保我使用 docker 自制软件安装和 wipe/correct 上述步骤安装?
经过长时间的谷歌搜索,我发现问题出在 config.json
文件上。
"credsStore" : "docker-credential-desktop"
是错误的:
{
"credsStore" : "docker-credential-desktop",
"stackOrchestrator" : "swarm",
"experimental" : "disabled"
}
将 "credsDstore"
键值更改为 "desktop"
并且现在可以按预期进行撰写。一些人指出 credsDstore
拼写错误是问题所在,并用 credDstore
修复了它,但在我的情况下,值是问题所在,它适用于 "credsStore" : "desktop"
和 "credStore" : "desktop"
。
希望它能帮助其他 Docker 入门的人。
干杯。
检查您的 config.json 并将“credsStore”替换为“credStore”
{
"stackOrchestrator" : "swarm",
"experimental" : "disabled",
"credStore" : "desktop"
}
就在 ~/.docker/config.json 中将 credsStore 更改为 credStore
我 运行 在尝试本地调用 aws lambda 函数时在 windows 10 上使用 wsl2 遇到了类似的问题。当 运行 sam build --use-container
时,我得到 docker.credentials.errors.InitializationError: docker-credential-desktop not installed or not available in PATH
。 运行 which docker-credential-desktop
没有显示结果
经过进一步检查,我发现 docker-credential-desktop.exe
在 PATH
中。在快速 google 之后,似乎在 Docker 桌面中启用 wsl2 后端 Windows 10 symlinks wsl/docker-desktop/cli-tools/usr/bin/docker-credentials-desktop.exe
到 /usr/bin/docker-credential-desktop.exe
。为了解决这个问题,我简单地删除了 symlink 并创建了一个没有 .exe
的新符号
要检查 link 并将其删除:
user@device:~$ ls -l /usr/bin/docker-credential-desktop.exe
lrwxrwxrwx 1 root root 67 Jan 5 23:15 /usr/bin/docker-credential-desktop.exe -> /wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe
user@device:~$ sudo rm /usr/bin/docker-credential-desktop.exe
创建一个没有 .exe
的新的并检查它是否有效:
user@device:~$ sudo ln -s /wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe /usr/bin/docker-credential-desktop
user@device:~$ ls -l /usr/bin/docker-credential-desktop
lrwxrwxrwx 1 root root 67 Jan 12 14:22 /usr/bin/docker-credential-desktop -> /wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe
之后我使用 .bashrc
更新 PATH
,问题就解决了。我用 which docker-credential-desktop
验证了这一点,它现在显示在上面的 symlink 中指定的位置。
我的 Mac 上的 Docker 安装可能有点乱.. 起初我安装了 Docker 桌面,但后来 运行 我了解到,因为我使用的是较旧的 Mac 我必须安装 VirtualBox,所以我按照以下步骤操作:
允许用户在
/usr/local/bin
文件夹上写入sudo chown -R $(whoami) /usr/local/bin
安装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
安装Xcode CLI..从开发帐户手动安装
安装 Home Brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装 Docker + wget(使用 Brew)
brew install docker
brew install wget
安装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
启用docker机器shell提示
echo 'PS1='[\u@\h \W$(__docker_machine_ps1)]$ '' >> ~/.bashrc
安装 VirtualBox、ExtensionPack 和 SDK:https://www.virtualbox.org/wiki/Downloads
我现在用自制软件安装了 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 也有自制软件,我应该通过自制软件安装 docker-machine 吗?
我可以检查什么来确保我使用 docker 自制软件安装和 wipe/correct 上述步骤安装?
经过长时间的谷歌搜索,我发现问题出在 config.json
文件上。
"credsStore" : "docker-credential-desktop"
是错误的:
{
"credsStore" : "docker-credential-desktop",
"stackOrchestrator" : "swarm",
"experimental" : "disabled"
}
将 "credsDstore"
键值更改为 "desktop"
并且现在可以按预期进行撰写。一些人指出 credsDstore
拼写错误是问题所在,并用 credDstore
修复了它,但在我的情况下,值是问题所在,它适用于 "credsStore" : "desktop"
和 "credStore" : "desktop"
。
希望它能帮助其他 Docker 入门的人。 干杯。
检查您的 config.json 并将“credsStore”替换为“credStore”
{
"stackOrchestrator" : "swarm",
"experimental" : "disabled",
"credStore" : "desktop"
}
就在 ~/.docker/config.json 中将 credsStore 更改为 credStore
我 运行 在尝试本地调用 aws lambda 函数时在 windows 10 上使用 wsl2 遇到了类似的问题。当 运行 sam build --use-container
时,我得到 docker.credentials.errors.InitializationError: docker-credential-desktop not installed or not available in PATH
。 运行 which docker-credential-desktop
没有显示结果
经过进一步检查,我发现 docker-credential-desktop.exe
在 PATH
中。在快速 google 之后,似乎在 Docker 桌面中启用 wsl2 后端 Windows 10 symlinks wsl/docker-desktop/cli-tools/usr/bin/docker-credentials-desktop.exe
到 /usr/bin/docker-credential-desktop.exe
。为了解决这个问题,我简单地删除了 symlink 并创建了一个没有 .exe
要检查 link 并将其删除:
user@device:~$ ls -l /usr/bin/docker-credential-desktop.exe
lrwxrwxrwx 1 root root 67 Jan 5 23:15 /usr/bin/docker-credential-desktop.exe -> /wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe
user@device:~$ sudo rm /usr/bin/docker-credential-desktop.exe
创建一个没有 .exe
的新的并检查它是否有效:
user@device:~$ sudo ln -s /wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe /usr/bin/docker-credential-desktop
user@device:~$ ls -l /usr/bin/docker-credential-desktop
lrwxrwxrwx 1 root root 67 Jan 12 14:22 /usr/bin/docker-credential-desktop -> /wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe
之后我使用 .bashrc
更新 PATH
,问题就解决了。我用 which docker-credential-desktop
验证了这一点,它现在显示在上面的 symlink 中指定的位置。