web-dev-qa-db-ja.com

MacOS上のDockerデーモンに接続できません

私は通常私のOSX上で自分のアプリをbrewで管理することを好みます。

Docker、docker-compose、docker-machineをインストールできます

docker --version
Docker version 17.05.0-ce, build 89658be
docker-compose --version
docker-compose version 1.13.0, build unknown
docker-machine --version
docker-machine version 0.11.0, build 5b27455

'Docker for Mac'アプリをダウンロードして実行しませんでした。

しかし走らせようとすると

> docker run -d -p 80:80 --name webserver nginx
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

私はすでに靴下ファイルをチェックしました

ls -lah /var/run/docker.sock /var/tmp/docker.sock
ls: /var/run/docker.sock: No such file or directory
ls: /var/tmp/docker.sock: No such file or directory

私はこの提案された解決策も試しました: Mac OS X Sudo docker Dockerデーモンに接続できません。 dockerデーモンはこのホスト上で稼働していますか?

しかし、私はこのエラーメッセージを得ました:

$ eval $(docker-machine env default)
Host does not exist: "default"

Dockerサービスをコマンドラインツールで実行することは可能ですか?

121
Anthony Kong
brew cask install docker

次に Docker アプリを起動します。次へをクリックしてください。特権アクセスを要求します。確認してください。クジラのアイコンがトップバーに表示されます。それをクリックして、 "Docker is running"が表示されるのを待ちます。

これでdockerコマンドを実行できるはずです。

docker ps
251
friederbluemle

MacOSでは docker バイナリはクライアントにすぎず、DockerデーモンはLinux固有のカーネル機能を使用するためDockerデーモンを実行するために使用することはできません。 VMを作成してアタッチするためにdocker-machineをインストールします。

MacOSにdocker-machineをインストールする

docker-machine コマンドがまだない場合は、以下のいずれかの方法でインストールしてください。

  • Brew command:brew install docker-machine dockerを使用します。
  • 手動で:

    install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-AMD64) /usr/local/bin/docker-machine
    

Docker for Macを始めよう

MacOSでdocker-machineを設定する

defaultマシンを作成します(持っていない場合はdocker-machine lsを参照してください)。

docker-machine create --driver virtualbox default

それからDockerクライアントの環境を設定します。

eval "$(docker-machine env default)"

それからコンテナーをリストして再確認します。

docker ps

Docker MachineとローカルVM を始めてください。


関連する

46
kenorb

私は以下のステップでそれを解決したのと同じ問題を抱えていました。

docker-machine restart

端末を終了(またはiTerm2など)して再起動

eval $(docker-machine env default)

私はまたそれに答えた ここ

24
Master p

これを試してデフォルトを作成してください。

docker-machine create default
9

oSXでは、発行する前にDockerアプリケーションを起動したことを確認してください。

docker ps

またはdocker build ... etc ...はい、それは奇妙で多少誤解を招くように発行するようです

docker --version

dockerデーモンが実行されていなくてもバージョンを表示します。他のバージョンのcmdsについても同じです。

3
Scott Stensland

プロセス管理はMacOSでは本質的に困難なので(SystemDやinitなどの従来の* nix OSとは異なり)、バックグラウンドで起動して実行するには、caskアプリケーションが必要です。デーモンを実行できるようにします。

brew installはCLIユーティリティをインストールするだけですbrew cask installはGUIユーティリティを対象としています。したがって、dockerをインストールするときは、デーモンGUIユーティリティとCLIユーティリティを取得するために、両方のインストールを実行する必要があります。これがBrewがデフォルトで両方をインストールしないことに憤慨している人たちのためにこれが明確になることを願っています!

3
Ryan Smith

私は最新のdockerを持っていました、dockerはそれが走っていて、そして診断が良かったと言いました。私はいくつかのレガシ環境変数の設定を解除する必要がありました(ありがとう https://docs.docker.com/docker-for-mac/troubleshoot/#workarounds-for-common-problems

unset DOCKER_Host
unset DOCKER_CERT_PATH
unset DOCKER_TLS_VERIFY
3
Michael

私は同じ問題を抱えていました。 Dockerは実行されていますが、CLIからアクセスできませんでした。

私にとっては、この問題は "Docker Quickstart Terminal.app"を実行することによって解決されました。これは、 "/ Applications/Docker /"フォルダにあります。私がこのターミナルアプリのインスタンスで作業している限り、Dockerは完全に機能します。セカンドウィンドウが必要な場合は、もう一度「クイックスタート」アプリを実行する必要があります。

私はDocker for Macをインストールしています。したがって、私の解決策が自作インストールに有効かどうかはわかりません。

「Docker Quickstart Terminal」アプリは、基本的には端末アプリを起動するためのいくつかのapplescriptと、必要なすべての環境変数を初期化するbash起動スクリプトです。

これが他の誰かに役立つことを願っています!

2
beo

私はMac OSを使用していて、Launchpadを開いてdockerアプリケーションを選択しています。 resetタブからrestartをクリックしてください。

1

ミニキューブをインストールし、暗い面に参加してください。

https://kubernetes.io/docs/tasks/tools/install-minikube/

$ bash --version
GNU bash, version 5.0.3(1)-release (x86_64-Apple-darwin18.2.0)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

eval $(minikube docker-env)

$ docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate     -i /local/swagger.json     -l python     -o /local/test/
[main] INFO io.swagger.parser.Swagger20Parser - reading from /local/swagger.json
[main] WARN io.swagger.codegen.DefaultGenerator - 'Host' not defined in the spec. Default to 'localhost'.

Bash v5を搭載したMacbook Pro 2018で素晴らしい動作をします。最近IMOの他のすべてのdockerナンセンスをインストールする必要はありません。ミニキューブに付属のVMおよびインストールスクリプトは、私の経験からdocker machineを置き換えることができます。

1
Ligemer

spotlight検索を実行して、brew cask installが作成した/ Applicationsフォルダの下にあるDockerアプリケーションを実行するだけでした。これが実行されたらそれはインストールを完了するように頼みました。私はdocker psを実行することができました

0
wired00

私は最初にdockerとdocker-composeを自作で試してみましたが、ここに問題がありました。 https://docs.docker.com/docker-for-mac/install/ からdockerの公式インストールをインストールしなければなりませんでした。それからすべてが期待通りに動作しました。

0
Thomas Kessler