我可能有一个混乱的Docker安装在我的Mac上有点..起初我安装Docker桌面,但后来运行它,我了解到,因为我在一个旧的Mac上,我必须安装VirtualBox,所以我没有按照这些步骤:
1.允许用户在/usr/local/bin
文件夹上写入sudo chown -R $(whoami) /usr/local/bin
1.安装对接机
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 ..
1.安装自制啤酒
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1.安装Docker + wget(使用Brew)brew install docker
brew install wget
1.安装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
1.安装VirtualBox、扩展包和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
打印/用户/本地/纸盒/文件夹。
brew安装在/usr/local/Cellar/docker/20.10.6
和/usr/local/Cellar/docker-compose/1.29.2
中。我看到也有一个自制的docker-machine,我应该通过自制来安装docker-machine吗?
我可以检查什么来确保我使用的是自制的Docker安装程序,并擦除/更正上述步骤中的安装程序?
6条答案
按热度按时间2guxujil1#
检查您的
~/.docker/config.json
并将“credsStore”替换为“credsStore”t9eec4r02#
刚刚在~/. docker/config.json中将信用存储更改为信用存储
brjng4g33#
经过长时间的谷歌搜索,我发现问题出在
config.json
文件上。"credsStore" : "docker-credential-desktop"
是错误的一个在:将
"credsStore"
键值更改为"desktop"
,合成现在可以按预期工作。有些人指出credsDstore
错字是问题所在,并使用credDstore
修复了它,但在我的情况下,值是问题所在,它同时适用于"credsStore" : "desktop"
和"credStore" : "desktop"
。希望它能帮助其他人从Docker开始。干杯。
mrwjdhj34#
由于您使用的是Mac,因此可以使用
docker-credential-osxkeychain
。1.安装
docker-credential-helper
。1.验证
docker-credential-osxkeychain
是否可用。1.在
~/.docker/config.json
中将credsStore
设置为osxkeychain
1.登录到Docker Hub。
2guxujil5#
我在windows10上使用wsl2时遇到了类似的问题,当我试图本地调用aws lambda函数时,我在运行
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
中。快速搜索后,似乎在Docker Desktop中为wsl/docker-desktop/cli-tools/usr/bin/docker-credentials-desktop.exe
到/usr/bin/docker-credential-desktop.exe
的符号链接启用了wsl2后端。为了解决这个问题,我简单地删除了符号链接,并创建了一个没有.exe
的新符号链接要检查链接并将其删除:
要创建一个不带
.exe
的新文件并检查其是否工作:在那之后,我用
.bashrc
更新PATH
,问题解决了。我用which docker-credential-desktop
验证了这一点,它现在显示了上面符号链接中指定的位置。wi3ka0sx6#
如果你使用的是WSL,尝试
desktop.exe
,而不是desktop
,因为你会发现/usr/bin/
中的程序是docker-credential-desktop.exe
。