2016-06-12 2 views
2

При попытке использовать Docker - например,Docker не работает на OS/X

12:40:26/~ $sudo docker pull fluxcapacitor/pipeline 
Using default tag: latest 

возвращается ошибка:

Warning: failed to get default registry endpoint from daemon (Cannot connect to 
the Docker daemon. Is the docker daemon running on this host?). Using system 
default: https://index.docker.io/v1/ 
Cannot connect to the Docker daemon. Is the docker daemon running on this host? 

Обратите внимание, что я уже последовали ответы на Mac OS X sudo docker Cannot connect to the Docker daemon. Is the docker daemon running on this host?

следующим образом:

докер-машина начала по умолчанию

12:40:36/~ $docker-machine start default 
Starting "default"... 
Machine "default" is already running. 

докер пс

12:41:20/~ $docker ps 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES 

Так что еще нужно сделать?

Это

$docker --version 
Docker version 1.11.2, build b9f10c9 

на El Capitan.

Обновление Выход docker-machine env default

$eval "$(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/macuser/.docker/machine/machines/default" 
export DOCKER_MACHINE_NAME="default" 

ответ

9

Следующая команда экспортирует несколько переменных окружения, что последующие команды Докер использовать:

eval "$(docker-machine env default)" 

Однако, если вы запускаете докер с Судо, экспортируемые переменные окружения не доступны докер исполняемого файла. Вы могли бы потенциально заставить его работать, передавая флаг -e Суда:

sudo -E docker pull fluxcapacitor/pipeline 

Но гораздо проще вариант заключается в использовании докер без корня.

docker pull fluxcapacitor/pipeline 
2

Вы должны установить переменные окружения с:

eval "$(docker-machine env default)" 

Подробнее об этом here.

+0

ах да, я забыл упомянуть в OP, который был выполнен. Но для хорошей меры это повторилось. Нет изменений в поведении (такая же ошибка) – javadba

+0

@javadba Каков результат работы «docker-machine env default»? – khattam

+0

@khattam Обновлен OP с этой информацией. – javadba

1

я имел такое же probelem на моем MAC, когда попытался

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

получил эту ошибку

Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": x509: certificate is valid for 192.168.99.101, not 192.168.99.100 
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'. 

регенерировать сертификаты, узнать докер-машину имеющейся;

# docker-machine ls 

Выхода Имеющихся докеров машин (опущенных других)

NAME   ACTIVE DRIVER  STATE  URL       SWARM DOCKER ERRORS 
default  -  virtualbox Running tcp://192.168.99.100:2376   Unknown Unable to query docker version: Get https://192.168.99.100:2376/v1.15/version: x509: certificate is valid for 192.168.99.101, not 192.168.99.100 

Генерации сертификатов для этого по умолчанию докер-машины

# docker-machine regenerate-certs default 

, а затем установка докеров-машина окр к default Докер-машине ;

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

и он нормально работает после этого.

Смежные вопросы