在 Mac 上运行时找不到 Docker 命令

问题描述 投票:0回答:13

我正在尝试按照docker-graphite-statsd中的说明运行以下代码:

docker run -d\
 --name graphite\
 --restart=always\
 -p 80:80\
 -p 2003-2004:2003-2004\
 -p 2023-2024:2023-2024\
 -p 8125:8125/udp\
 -p 8126:8126\
 graphiteapp/graphite-statsd

它给出了这个错误:

$ sudo docker run -d --name graphite --restart=always -p 80:80 -p 2003-2004:2003-2004 -p 2023-2024:2023-2024 -p 8125:8125/udp -p 8126:8126 graphiteapp/graphite-statsd
sudo: docker: command not found

这是在 Mac 上。我试过

brew install docker
但没有任何区别。

我该如何解决?

macos docker command-line command
13个回答
55
投票

恐怕您需要手动将

docker
命令添加到您的 PATH 中。它可以通过配置文件来完成。由于
ZSH
现在是 MacOS 上的默认 shell,它将转到
~/.zprofile
文件:

# Add Visual Studio Code (code)
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
# Add Docker Desktop for Mac (docker)
export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"

38
投票

使用 Homebrew 安装 docker 后,通过在 Finder 的应用程序文件夹中搜索 Docker 并运行它来启动 Docker 守护程序。

完成上述操作后,我必须从终端运行以下命令: docker run -d -p 80:80 docker/getting-started

现在从终端运行“docker --version”,它应该会给出想要的结果。

参考:https://www.cprime.com/resources/blog/docker-on-mac-with-homebrew-a-step-by-step-tutorial/


11
投票

运行 brew list 这将显示所有已安装的 Homebrew 软件包的列表。

但强烈建议在您的 mac 上使用以下链接安装 docker :

https://docs.docker.com/docker-for-mac/install/


6
投票

如果您使用官方包成功安装了 docker,该命令应该在

/usr/local/bin/docker
下可用。

该目录可能还不在您的 $PATH 中,因此您可以尝试添加它,运行:

export PATH="/usr/local/bin:$PATH"

这会在您的

/usr/local/bin
前面添加
PATH

信用:https://stackoverflow.com/a/57231241/1601580


详情:

检查 docker 不存在:

docker
zsh: command not found: docker

检查路径是什么:

echo $PATH
/Users/brandomiranda/.opam/__coq-platform.2022.01.0~8.15~beta1/bin:/Users/brandomiranda/opt/anaconda3/envs/meta_learning/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin

然后添加 PATH(要为当前 shell 设置它以及从当前 shell 使用

export
启动的所有进程):

export PATH="/usr/local/bin:$PATH"

检查我添加到路径的内容:

echo $PATH
/usr/local/bin:/Users/brandomiranda/.opam/__coq-platform.2022.01.0~8.15~beta1/bin:/Users/brandomiranda/opt/anaconda3/envs/meta_learning/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin

似乎

/usr/local/bin
不在我的道路上。可能很奇怪?对我来说似乎很奇怪......为什么不在那里?


6
投票

可能有更好的解决方案,但这对我有用 (macOS):

编辑您的

.zshrc
.bashrc
,具体取决于您使用的是哪一个

vi ~/.zshrc # or ~/.bashrc

就我而言

.zshrc

# ~/.zshrc
...

alias docker="/Applications/Docker.app/Contents/Resources/bin/docker"

...
source ~/.zshrc

现在应该可以了

docker --version

这是可行的,因为我们将

docker
别名为位于
/Applications/Docker.app/Contents/Resources/bin/docker
.

中的可执行文件

5
投票

这个命令帮助了我:

/Applications/Docker.app/Contents/Resources/bin/docker --version

之后检查版本:

docker --version

4
投票

Homebrew 的 docker 在 10.13 上不再安装 /usr/local/bin/docker 或 /Applications/Docker.app。

您必须从上面的 docker.com 站点下载适用于 Mac 应用程序的 Docker Desktop 并安装它。


4
投票

从 docker desktop mac 开始(在我的例子中是 v4.18,Apple Silicon 版本),默认安装是

  • 不再=>
    /usr/local/bin
  • 现在=>
    $HOME/.docker/bin

查看 Docker Desktop > Settings > Advanced,它提供了两个选项:

  • 系统和
  • User,默认为User

对于系统,该位置位于默认的 macOS 路径中。对于用户,您需要在路径中添加一个条目。

系统:(需要密码) Docker CLI工具安装在

/usr/local/bin
.

用户:Docker CLI工具安装在

$HOME/.docker/bin
下。注意:您需要手动添加
$HOME/.docker/bin
到您的 PATH.


1
投票

您还可以在

Mac
上使用以下命令安装docker

brew install docker-machine docker

0
投票

所以要安装图像,而不是

/bin/docker run -d -p 80:80 docker/getting-started

使用

/Applications/Docker.app/Contents/Resources/bin/docker run -d -p 80:80 docker/getting-started

0
投票

如果你使用Homebrew安装Docker,你应该在应用程序中打开它,确认注意事项,并将其添加到后台应用程序中。

然后Docker app就启动了,可以使用docker XXX的任意命令了


0
投票

你必须将它添加到你的路径中。如果你的外壳是

bash
,这里是你需要采取的步骤:

nano ~/.bash_profile

然后,添加您的 Docker 二进制路径(例如我的路径):

export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"

然后重新加载配置并测试:

source ~/.bash_profile && docker --v

希望这有帮助!


0
投票

export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"

是唯一适合我的解决方案

尝试了

export PATH="$PATH:$HOME/.docker/bin"
但失败了,虽然它是真实位置的符号链接,我可以在终端中从它运行 docker

© www.soinside.com 2019 - 2024. All rights reserved.