После того, как я обновляю версию 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
Как мне решить проблему?
no such file or directory[/var/lib/docker|2462000b]
. Существует ли/var/lib/docker
в вашей системе? Если нет, то я думаю, что вам нужно переустановить Docker.Ответы:
Linux
Документация «Действия после установки Linux» раскрывает следующие шаги:
Mac OS X
Как говорит Dayel Ostraco, необходимо добавить переменные окружения:
Команда
docker-machine start
выводит комментарии для руководства процессом.источник
newgrp
команду для запуска новой оболочки в этой новой группе. Как это:newgrp docker
.alias docker='sudo docker'
сделал трюк. : pLinux
Чтобы запустить демон docker в Linux (из CLI ), выполните:
Примечание: пропустить
$
символ при копировании и вставке.В RedHat / CentOS, выполните команду:
sudo systemctl start docker
.Чтобы инициализировать «базовую» файловую систему, запустите:
или вручную, как:
Установить
docker-machine
на LinuxЧтобы установить двоичные файлы компьютера в Linux:
локально:
Глобальный:
Macos
В macOS
docker
бинарный файл является только клиентом, и вы не можете использовать его для запуска демона docker, потому что демон Docker использует специфичные для Linux функции ядра, поэтому вы не можете запустить Docker изначально в OS X. Поэтому вам необходимо установитьdocker-machine
, чтобы создать ВМ и прикрепить к нему.устанавливать
docker-machine
на macOSЕсли у вас нет
docker-machine
команды, установите ее одним из следующих способов:brew install docker-machine docker
.вручную из GitHub :
Видеть: Начало работы с Docker для Mac .
Настройка
docker-machine
на macOSЧтобы запустить Docker Machine через Homebrew, запустите:
Чтобы создать
default
машину (если у вас ее нет, см .docker-machine ls
:):Затем настройте среду для клиента Docker:
Затем перепроверьте, перечислив контейнеры:
См. Начало работы с Docker Machine и локальной виртуальной машиной .
Установить Docker.app на macOS
В качестве альтернативы вышеприведенному решению вы можете установить приложение Docker:
Проверьте этот пост для более подробной информации . Смотрите также: Невозможно подключиться к демону Docker в macOS
источник
docker-toolbox
с docs.docker.com/toolbox/toolbox_install_macsudo rm -rf /var/lib/docker
а затем перезагрузка сделала свое дело. Я действительно застрял, и никакое другое решение не помогло мне.Если вы работаете в Docker на OS X, запуск следующего eval сработал для меня.
Если вы предпочитаете не запускать этот оператор eval в каждом сеансе терминала, вы можете добавить его в свой
bash_profile
:Обязательно перезапустите сеанс терминала или запустите источник,
bash_profile
чтобы изменения вступили в силу.источник
Error checking TLS connection: Host is not running
... запускаю этот eval после того, как командаdocker-machine start default
сделала свое дело.После подробного расследования эта проблема возникает каждый раз после перезагрузки Mac OS X (или перезапуска виртуальной машины Docker), которая не позволяет клиенту Docker подключиться к демону Docker.
Чтобы решить эту проблему, вы можете:
A) Переустановите Docker Toolbox с помощью официального установщика ( https://www.docker.com/products/docker-toolbox ) или просто
Б) Выполните следующие команды по порядку:
C) Как и (B), вы также можете скопировать и вставить следующую строку, чтобы выполнить все три команды:
В случае, если вы получите следующую ошибку:
просто повторите эти три команды в другой раз, и это должно сработать во второй раз.
источник
Обычно это происходит, когда вы не в
docker
группе. Вы можете добавить себя вdocker
группу с помощью:или
После этого вам необходимо выйти и снова войти на сервер.
В качестве альтернативы, вы можете использовать
sudo
любую команду Docker.источник
Если все остальные решения, описанные выше, не работают, попробуйте проверить право собственности на
/var/run/docker.sock
:Если вы не владелец, измените владельца с помощью команды:
Тогда вы можете продолжить и попробовать выполнить команды Docker без проблем: D
источник
Лучший способ выяснить, почему Docker не работает, - запустить демон вручную.
Демон Docker регистрируется в STDOUT, поэтому он начинает выплевывать все, что он делает.
Вот что было моей проблемой:
Это произошло потому, что экземпляр был клонирован с другой виртуальной машины. Мне просто нужно было удалить pid-файл, и все работало потом.
Конечно, вместо того, чтобы слепо предполагать, что это сработает, я бы предложил еще раз запустить демон вручную и проверить вывод журнала на наличие других ошибок, прежде чем запускать службу обратно.
источник
apparmor
пакет.dockerd -D
Если вы получили сообщение
Can't connect to docker daemon. Is 'docker -d' running on this host?
, вы можете проверить его поdocker version
.Если вы видите информацию, как Docker Client работает. но Docker Server не является , очевидно, вам нужно запустить Docker сервер.
В CentOS вы можете использовать
service
для запуска или остановки сервера Docker.Затем, после ввода
docker version
, вы получите информацию о Docker Client и Docker Server , и демон Docker был запущен.источник
sudo service docker start
также работал для меня на Ubuntu 14.04.Сделайте,
ps aux | grep docker
чтобы увидеть, работает ли демон. Если не запустить/etc/init.d/docker start
источник
sudo service docker start
говорит мне «запуск / запуск докера, процесс 4633», затемsudo service docker status
говорит «остановка / ожидание докера»Я перезапускаю Docker после его установки:
И это работает.
источник
У меня похожая проблема. Мне пришлось выйти из системы и снова войти в оболочку, потому что я только что установил Docker, а следующая команда не отображалась в моей среде.
источник
Я столкнулся с этой проблемой, и я перезапустил Docker с помощью этих команд:
Но я не решил свою проблему, потому что я забыл выполнять свои команды Docker без
sudo
. Для тех, кто сталкивается с этой проблемой, попробуйте это проверить.Пытаться
вместо этого:
источник
docker build
Ubuntu Xenial.Вы можете использовать команду
просто начать это.
источник
sudo service docker restart
проще 😊У меня такая же ошибка и пытаюсь
docker-machine regenerate-certs
илиeval..
у меня не получилось.Это на OS X 10.11.3 (El Capitan) и Docker v1.10.1. Я смог исправить это, только удалив и заново создав Docker-машину. Источник
Если он работает
docker-machine ls
, он показывает вывод, аналогичный приведенному ниже;Попробуйте удалить ваш докер с помощью;
Где
default
ваше имя машины Docker. Затем;Создает новую машину Docker.
Дважды проверьте, что теперь все выглядит нормально (без ошибок или неизвестного Docker) с помощью:
Наконец, не забудьте запустить,
"$(docker-machine env default)"
прежде чем продолжить или запустить терминал быстрого запуска Docker, который сделает это за вас ...источник
У меня была такая же проблема - «Не удается подключиться к демону Docker». (за исключением того, что я не получил никаких ошибок 'file not found' при попытке запустить сервер.)
'ps' показал, что "/ usr / bin / docker -d" все еще работает
Я понял, что на самом деле мне никогда не удавалось запустить сервер самостоятельно. Каждая попытка произвела
Поэтому я запоздало понял, что при установке docker, возможно, зарегистрировал демона с помощью upstart, который запустил его для меня. Следовательно, попытка убить демона для ручного перезапуска не удалась (операция не разрешена). Итак, я сделал
на процесс демона. Другой демон немедленно занял свое место, и этот новый теперь позволяет моему клиенту CLI соединяться:
источник
Попробуйте добавить текущего пользователя в
docker
группу:Затем выйдите и войдите.
источник
Используйте приложение Docker CE
Macos
Используйте новое приложение Docker Community Edition для macOS. Например:
Удалите все пакеты Docker Homebrew, которые вы уже установили:
Установите приложение вручную или через Homebrew-Cask :
Примечание: Это приложение будет создавать необходимые ссылки
docker
,docker-compose
,docker-machine
и т.д.После запуска приложения проверьте значок Docker кита в меню состояния.
docker
,docker-compose
,docker-machine
команды , как обычно в терминале .Связанные с:
Linux / Windows
Загрузите Docker CE со страницы загрузки и следуйте инструкциям.
источник
Я знал, что в этом посте уже есть множество ответов. Просто я хотел бы добавить один простой ответ, который решает вышеупомянутую проблему.
Запустите приведенную выше команду, и она запустит все связанные с докером потоки / сервисы.
источник
У меня просто была такая же проблема, работающая на Amazon AWS .
Вот что я пытался:
docker-machine
локально с уже существующим экземпляром AWSdockerd
работал ...На удаленной машине было проверено следующее:
Я удалил
/var/lib/docker
и удалил все, но не было успеха после переустановки. К сожалению, у меня нет журналов, сохраненных от сбоев, но яdocker.service
просто отказался запускаться.Тем не менее, что в конечном итоге решило мою проблему в основном:
источник
Следующий DOC-сайт Docker : Управление Docker от имени пользователя без полномочий root
1) Создать Docker Group
2) Сделать пользователя членом группы Docker, чтобы получить привилегии группы.
Проверьте, установлена ли переменная окружения DOCKER_HOST для вашей оболочки.
Если это существует,
Тогда это должно работать:
источник
unset DOCKER_HOST
работал для меняЕсли вы работаете в OS X с помощью инструмента Docker, следуйте этому.
Перезапустите демон и настройте свою среду:
А потом
В заключение,
Чтобы проверить, запущен ли демон:
docker ps -a
илиdocker-machine ls
. Это перечислит все контейнеры.источник
У меня та же проблема. В CentOS 6.5:
Если он показывает, что процесс Docker-демона не существует, я набираю:
Затем Ctrl+, Dчтобы остановить Docker. Поскольку мы используем эту
-d
опцию, Docker будет работать как демон. Теперь мы можем сделать:Тогда я могу сделать
docker pull centos
. Это все.ПРИМЕЧАНИЕ: если они не работают, вы можете попробовать
yum update
, а затем повторить это снова, потому что яyum install
до этого.источник
Возможно, Docker Service не запущен.
Если вы используете RedHat / Fedora / CentOS, попробуйте это:
sudo systemctl start docker
Если вы используете Ubuntu / Debian:
sudo service start docker
Docker начнет работать на вашем хосте и соответствующем порту.
источник
Проверьте, используете ли вы Docker Machine :)
Бег
docker-machine env default
должен сделать свое дело.Потому что согласно документации:
https://docs.docker.com/machine/overview/
источник
источник
Для исправления необходимо выполнить следующие команды в терминале. Я объясню каждый шаг:
Теперь, если вы хотите упростить вещи и получить больше времени, вы можете запустить мой
init
скрипт с параметромinstallDocker
:Перезагрузка не обязательна, но я советую вам сделать это, чтобы все прошло гладко.
источник
У меня была такая же проблема при запуске Docker 1.10 на Ubuntu 14.04, и ни один из приведенных ответов не сработал. Для меня исправлением было указать драйвер хранилища при запуске демона Docker.
источник
Если вы используете gitlab-ci / gitlab-runners, вы получите эту ошибку, если у вас нет прав доступа
/var/run/docker.sock
.Решить проблему:
Проверьте с помощью:
Надеюсь, это поможет.
источник
Если регенерация сертификатов TLS не работает
Попробуйте перезапустить докер и установить переменную env:
Проверьте, работает ли машина с:
или альтернативно
Это сработало для меня. Однако, если у вас по-прежнему нет демона, на странице устранения неполадок Докера подробно описан процесс остановки, удаления и создания нового компьютера.
источник
Я также получил проблему «Не удается подключиться к демону Docker. Работает ли демон Docker на этом хосте?».
Я забыл использовать
sudo
. Надеюсь, это поможет некоторым из нас.источник