Не удается подключиться к демону Docker на macOS


Я обычно предпочитаю управлять своими приложениями на моем 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 для 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 с помощью инструментов командной строки?

9 70

9 ответов:

brew cask install docker

затем запустить настройки приложение. Нажимать далее. Он будет запрашивать привилегированный доступ. Утвердить. В верхней панели должен появиться значок кита. Нажмите на нее и дождитесь появления "Docker is running".

вы должны быть в состоянии работать docker команды сейчас.

docker ps

у меня была эта же проблема, я решил ее в следующих шагах:

docker-machine restart

выйти из терминала (или iTerm2 и т. д.) и перезапустить

eval $(docker-machine env default)

Я тоже ответил на него здесь

на macOS the docker binary-это только клиент, и вы не можете использовать его для запуска демона docker, потому что демон Docker использует специфические для Linux функции ядра, поэтому вы не можете запускать Docker изначально в OS X. Поэтому вам нужно установить docker-machine для того чтобы создать виртуальную машину и прикрепить к нему.

установить docker-machine на macOS

если у вас нет docker-machine команда еще, установите его с помощью одного из следующих методы:

посмотреть: Начните работу с Docker для Mac.

настроить docker-machine на macOS

создать default машина (если у вас ее нет, см.:docker-machine ls):

docker-machine create --driver virtualbox default

затем настройте среду для клиента Docker:

eval "$(docker-machine env default)"

затем дважды проверить список контейнеров:

docker ps

посмотреть: начните работу с машиной Docker и локальной виртуальной машиной.


по теме:

попробуйте создать значение по умолчанию.

docker-machine create default

на OSX убедитесь, что вы запустили приложение Docker перед выпуском

docker ps

или docker build ... так далее... да это кажется странным и несколько вводящим в заблуждение, что выдача

docker --version

дает версию, даже если демон docker не работает ... то же самое для этих других версий cmds ... Я только что столкнулся с точно такими же симптомами

У меня был докер до настоящего времени, докер сказал, что он работает, и диагноз был хорошим. Мне нужно было снять некоторые устаревшие переменные среды (спасибо https://docs.docker.com/docker-for-mac/troubleshoot/#workarounds-for-common-problems)

unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_TLS_VERIFY

поскольку управление процессами по своей сути сложно с MacOS (в отличие от традиционных ОС *nix с такими вещами, как SystemD и init), вам нужно приложение cask для запуска и запуска в фоновом режиме, чтобы демон мог работать (и иметь легкий доступ к управлению).

brew install просто устанавливает утилиты CLI brew cask install предназначен для утилит GUI. Таким образом, при установке docker вы должны предварительно сформировать обе установки, чтобы получить утилиту GUI демона и утилиту CLI. Я надеюсь, что это проясняет для те, которые были расстроены тем, что Brew не установил оба по умолчанию!

У меня была та же проблема. Докер работает, но не может получить доступ к нему через CLI.

для меня проблема была решена путем выполнения " Docker Quickstart Terminal.приложение." Он находится в папке" /Applications/Docker/". Пока я работаю в этом экземпляре терминала App Docker работает отлично. Если второе окно необходимо, я должен запустить приложение "Quickstart" еще раз.

У меня есть Докер для установки Mac. Поэтому я не уверен, что мое решение действительно для a Доморощенная установка.

приложение "Docker Quickstart Terminal", по-видимому, представляет собой по существу некоторые applescripts для запуска приложения терминала и сценария запуска bash, который инициализирует все необходимые переменные среды.

надеюсь, это поможет кому-то еще !

Я сначала попробовал docker и docker-compose через homebrew, но у него была проблема, перечисленная здесь. Мне пришлось установить официальную установку docker из https://docs.docker.com/docker-for-mac/install/ и тогда все работало как ожидалось.