Vin*_*nzo 96 homebrew docker docker-compose docker-machine
我的 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
Run Code Online (Sandbox Code Playgroud)
从开发帐户手动安装 Xcode CLI
安装自制啤酒
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run Code Online (Sandbox Code Playgroud)
安装 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
Run Code Online (Sandbox Code Playgroud)
启用 docker-machine shell 提示符
echo 'PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '' >> ~/.bashrc
安装 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 安装并擦除/更正按照上述步骤进行的安装?
小智 275
检查您的~/.docker/config.json并将“credsStore”替换为“credStore”
{
"stackOrchestrator" : "swarm",
"experimental" : "disabled",
"credStore" : "desktop"
}
Run Code Online (Sandbox Code Playgroud)
Iva*_*van 88
只需~/.docker/config.json更改credsStore为credStore
Jac*_*wes 40
由于您使用的是 Mac,docker-credential-osxkeychain因此您可以使用它。
安装docker-credential-helper。
brew install docker-credential-helper
Run Code Online (Sandbox Code Playgroud)
验证docker-credential-osxkeychain可用。
$ docker-credential-osxkeychain version
0.6.4
Run Code Online (Sandbox Code Playgroud)
设置credsStore为osxkeychain在~/.docker/config.json
{
"auths": {
"https://index.docker.io/v1/": {}
},
"credsStore": "osxkeychain",
"experimental": "enabled",
"stackOrchestrator": "swarm"
}
Run Code Online (Sandbox Code Playgroud)
登录 Docker Hub。
$ docker login -u $USER
Password:
Login Succeeded
Run Code Online (Sandbox Code Playgroud)
Vin*_*nzo 26
经过长时间的谷歌搜索,我发现问题出在该config.json文件上。"credsStore" : "docker-credential-desktop"错误的是:
{
"credsStore" : "docker-credential-desktop",
"stackOrchestrator" : "swarm",
"experimental" : "disabled"
}
Run Code Online (Sandbox Code Playgroud)
将"credsStore"键值更改为 ,"desktop"并且 compose 现在可以按预期工作。有些人指出credsDstore拼写错误是问题所在,并用 修复了它credDstore,但在我的例子中,值是问题,它适用于"credsStore" : "desktop"和"credStore" : "desktop"。
希望它能帮助其他开始使用 Docker 的人。干杯。
| 归档时间: |
|
| 查看次数: |
87563 次 |
| 最近记录: |