簡體   English   中英

Docker 在 Mac 上運行時找不到命令

[英]Docker command not found when running on Mac

我正在嘗試按照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但沒有任何區別。

我該如何解決這個問題?

恐怕您需要手動將docker命令添加到您的 PATH 中。 它可以通過配置文件來完成。 由於ZSH現在在 MacOS 上是默認的 shell,它將 go 到~/.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/"

我正在嘗試按照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但是沒有什么區別。

我該如何解決?

我正在嘗試按照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但是沒有什么區別。

我該如何解決?

如果您使用官方的 package 成功安裝了 docker,該命令應該在/usr/local/bin/docker 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

檢查 PATH 是什么:

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不在我的路徑中。 可能很奇怪? 對我來說似乎很奇怪......為什么不在那里?

我正在嘗試按照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但是沒有什么區別。

我該如何解決?

這個命令幫助了我:

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

之后檢查版本:

docker --version

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

您必須從上面的 docker.com 站點下載 Docker Desktop for Mac 應用程序並安裝它。

您還可以在Mac上使用以下命令安裝docker

brew install docker-machine docker

所以要安裝圖像,而不是

/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

可能有更好的解決方案,但這對我有用(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中的可執行文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM