linux - mac running? daemon the is Docker не может подключиться к демону докеров




15 Answers

Если вы запускаете Docker на OS X, для меня работает следующий eval.

eval "$(docker-machine env default)"

Если вы предпочитаете не запускать эту инструкцию eval на каждом сеансе терминала, вы можете добавить это в свой bash_profile :

#Docker
eval "$(docker-machine env default)"

Обязательно перезапустите сеанс терминала или запустите источник в bash_profile чтобы изменения вступили в силу.

cannot connect to the docker daemon mac os

После того, как я обновляю версию Docker до 0.8.0 , я получаю сообщение об ошибке при входе в sudo docker version :

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?

И я выполнил инструкции и ввел команду sudo docker -d , и я получил следующее:

[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory

Как решить проблему?




После подробного расследования эта проблема возникает каждый раз после перезагрузки Mac OS X (или перезагрузка виртуальной машины Docker), которая не позволяет клиенту Docker подключиться к демону Docker.

Чтобы решить проблему, вы можете:

A) Переустановите Docker Toolbox с помощью официального установщика ( https://www.docker.com/products/docker-toolbox ) или просто

B) Выполните следующие команды в следующем порядке:

# First make sure that the virtual machine is running
docker-machine start default

# Regenerate TLS connection certs, requires confirmation
docker-machine regenerate-certs default

# Finally, set env
eval "$(docker-machine env default)"

C) То же, что и (B), вы можете также скопировать и вставить следующую строку для запуска всех трех команд:

docker-machine start default; docker-machine regenerate-certs default; eval "$(docker-machine env default)"

В случае возникновения следующей ошибки:

Error getting SSH command: Something went wrong running an SSH command!
command : cat /etc/os-release
err     : exit status 255
output  :

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




Если все остальные решения выше не работают, вы можете попробовать проверить право собственности на /var/run/docker.sock :

ls -l /var/run/docker.sock

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

sudo chown *your-username* /var/run/docker.sock

Затем вы можете продолжить выполнение команд Docker без проблем: D




Если вы получаете сообщение Can't connect to docker daemon. Is 'docker -d' running on this host? удается Can't connect to docker daemon. Is 'docker -d' running on this host? Can't connect to docker daemon. Is 'docker -d' running on this host? , вы можете проверить его docker version .

Если вы видите информацию, такую ​​как Docker Client, запущена. но Docker Server нет , очевидно, вам нужно запустить сервер Docker.

В CentOS вы можете использовать service для запуска или остановки сервера Docker.

$ sudo service docker stop
$ sudo service docker start

Затем, после ввода docker version , вы получите информацию о Docker Client и Docker Server , а демон Docker запущен.




Сделайте ps aux | grep docker ps aux | grep docker чтобы проверить, работает ли демон. Если не запущен запуск /etc/init.d/docker start




У меня такая же ошибка, и я пытаюсь docker-machine regenerate-certs или eval.. не работает для меня.

Это на OS X 10.11.3 (El Capitan) и Docker v1.10.1. Я смог исправить это только путем удаления и повторного создания докер-машины. Source

Если вы используете docker-machine ls , она показывает вам аналогичный результат для приведенного ниже;

DOCKER

неизвестный

ОШИБКИ

Не удалось выполнить запрос к версии докера: невозможно подключиться к конечной точке устройства докера

Попробуйте удалить вашу машину Docker;

docker-machine rm -f default

Если по default используется имя машины Docker. Затем;

docker-machine create -d virtualbox default

Создает новую машину Docker.

Двойная проверка, что теперь все выглядит нормально (без ошибок или неизвестного Docker):

docker-machine ls

Наконец, не забудьте запустить "$(docker-machine env default)" перед тем, как продолжить или запустить Docker Quickstart Terminal, который делает это для вас ...




Попробуйте добавить текущего пользователя в группу docker :

sudo usermod -aG docker $USER

Затем выйдите из системы и войдите в систему.




Если вы используете OS X с помощью инструмента Docker, следуйте этому примеру.

Перезапустите демон и настройте среду:

docker-machine restart

А потом

docker-machine env

В заключение,

eval $(docker-machine env)

Чтобы протестировать демон:

docker ps -a или docker-machine ls . В этом списке будут указаны все контейнеры.




После DOC-сайта Docker : Управление докером как пользователем без полномочий root

1) Создать группу Docker

sudo groupadd docker 

2) Заставьте пользователей принадлежать группе докеров, чтобы получить привилегии группы.

sudo usermod -aG docker $USER

Проверьте, установлена ​​ли переменная среды DOCKER_HOST для вашей оболочки.

env | grep DOCKER_HOST

Если он существует,

unset DOCKER_HOST

Тогда это должно работать:

docker run hello-world



Использование приложения Docker CE

Macos

Используйте новое приложение Docker Community Edition для macOS. Например:

  1. Удалите все пакеты Docker Homebrew, которые вы установили до сих пор:

    brew uninstall docker-compose
    brew uninstall docker-machine
    brew uninstall docker
    
  2. Установите приложение вручную или через Homebrew-Cask :

    brew cask install docker
    

    Примечание. Это приложение создаст необходимые ссылки на docker , docker-compose , docker-machine и т. Д.

  3. После запуска приложения проверьте значок «Докер-кит» в меню состояния.

  4. Теперь вы должны иметь возможность использовать команды docker , docker-compose , docker-machine как обычно в терминале .

Связанные с:

  • Brew install docker не включает докерный двигатель?
  • Не удается подключиться к демону Docker на macOS

Linux / Windows

Загрузите Docker CE со страницы загрузки и следуйте инструкциям.




  1. У меня тоже была такая же проблема. Проблема была в сокетах, выделенных для docker-daemon и docker-client.
  2. Во-первых, разрешение не было установлено для docker-client на docker.sock. Вы можете установить его, используя «sudo usermod -aG docker $ USER»
  3. Затем проверьте файл bash, в котором работает docker-client. Для меня это было на 0.0.0.0:2375, тогда как docker-daemon запускался в unix-сокете (он был установлен в файле конфигурации dockerd).
  4. Просто прокомментируйте bash-line, и все будет хорошо.
  5. Но если вы хотите, чтобы он работал на TCP-порт вместо unix-сокета, измените конфигурационный файл dockerd и установите его на 0.0.0.0.2375 и сохраните строку в bash как есть, если она присутствует или установлена ​​в 0.0.0.0: 2375.



У меня была та же проблема, что и Docker 1.10 на Ubuntu 14.04, и ни один из этих ответов не работал. Для меня исправить было указание драйвера хранилища при запуске демона Docker.

sudo docker daemon --storage-driver=devicemapper



У меня также возникла проблема «Не удается подключиться к демону Docker. Является ли демон docker на этом хосте?».

Я забыл использовать sudo . Надеюсь, это поможет некоторым из нас.

$:docker images
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

$:sudo docker images
REPOSITORY   TAG   IMAGE ID   CREATED   SIZE



Попробуйте изменить файл конфигурации Docker, docker или docker-network в /etc/sysconfig :

(... ~ v1.17)

файл docker :

OPTIONS= -H fd://

или (v1.18):

файл docker-network :

DOCKER_NETWORK_OPTIONS= -H unix:///var/run/docker.sock



У меня была аналогичная проблема.

В моем случае решение заключалось в том, чтобы удалить устаревшую версию докера. Я предполагаю, что это вызвало некоторые конфликты.

На ubuntu:

sudo apt remove docker

решил проблему для меня




Related


Tags

linux   docker