Доко sudo для Mac OS X Не удается подключиться к демону Docker. Демон docker работает на этом хосте?

Я установил докер, и, кажется, есть некоторые проблемы.

$ docker ps

КОНТЕЙНЕР ID ИМИДЖ КОМАНДА СОЗДАНА СТАТУС ИМЕНА ПОРТОВ

$sudo docker ps

Не удается подключиться к демону Docker. Демон docker работает на этом хосте?

Что я должен делать?

8 ответов

Вам нужно настроить вашу оболочку для использования Docker: eval $(docker-machine env default) Откуда эта команда? Бежать docker-machine env default и вы увидите что-то вроде следующего:

$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/eric/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell: 
# eval $(docker-machine env default)

Также вам может понадобиться, а может и нет, просто запустить хост Docker заранее: docker-machine start default

Docker-машина - это устаревшая штука для OSX, которая работает с VirtualBox. Что вам нужно сделать, это полностью избавиться от него, а затем загрузить последнюю версию Docker, которая называется Docker для Mac.

Перед установкой Docker для Mac убедитесь, что вы удалили устаревшую докерскую систему и докер-машину со своего Mac. Если вы этого не сделаете, устаревший двоичный файл Docker будет предпочтительным после установки, и вы все равно получите сообщение об ошибке, в котором говорится, что не удается подключиться к демону Docker.

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

docker-machine restart

Выйдите из терминала (или iTerm2, и т. Д., И т. Д.) И перезапустите

eval $(docker-machine env default)

У меня просто была эта проблема. Я использовал старый докер-компьютер и переключился на последний докер для Mac. Бег eval $(docker-machine env default) устанавливает некоторые переменные окружения.

Чтобы решить мою проблему, я сбросил эти переменные среды...

unset DOCKER_HOST DOCKER_MACHINE_NAME DOCKER_TLS_VERIFY DOCKER_CERT_PATH

удалить export DOCKER_HOST....из вашей среды (.bashrc, .bash_profile, что у вас есть), перезапустите оболочку/терминал, у меня сработало.

Чтобы сохранить его на новых терминалах и перезагрузить, поместите его в файл bash_profile

echo "eval \$(docker-machine env default)" >> ~/.bash_profile
  1. Установите рабочий стол docker, если он не установлен. (https://docs.docker.com/desktop/install/mac-install/)
  2. Запустите рабочий стол докера. Это заставит докер работать в фоновом режиме.
  3. Использоватьdocker psи он будет работать так, как ожидалось.

Если вы используете панель инструментов docker, введите ее перед запуском команды docker ps для установки среды

docker-machine env default
Другие вопросы по тегам