Не удается подключиться к демону 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 ответов:
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
команда еще, установите его с помощью одного из следующих методы:
- используя квас:
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 для Mac.
настроить
docker-machine
на macOSсоздать
default
машина (если у вас ее нет, см.:docker-machine ls
):docker-machine create --driver virtualbox default
затем настройте среду для клиента Docker:
eval "$(docker-machine env default)"
затем дважды проверить список контейнеров:
docker ps
посмотреть: начните работу с машиной Docker и локальной виртуальной машиной.
по теме:
на 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
просто устанавливает утилиты CLIbrew 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/ и тогда все работало как ожидалось.