2015-08-26 3 views
4

У меня есть довольно свежий Macbook Pro. Просто скачал установщик Docker и запустил его. Затем я открыл приложение быстрого запуска, в котором были некоторые ошибки.Docker не установлен правильно на Mac

Я бы показал вам, что он сказал, но он не делает те же ошибки во второй раз. Вот что он показывает второй раз, когда я открыть приложение QuickStart:

Machine default already exists in VirtualBox. 
Starting machine default... 
exit status 1 
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command. 
Setting environment variables for machine default... 



         ##   . 
        ## ## ##  == 
       ## ## ## ## ## === 
      /"""""""""""""""""\___/ === 
     ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~/===- ~~~ 
      \______ o   __/ 
      \ \   __/ 
       \____\_______/ 


host is not running 
docker is configured to use the default machine with IP 
For help getting started, check out the docs at https://docs.docker.com 

default is not running. Please start this with docker-machine start default 
bash-3.2$ docker-machine env 
Error: Expected either one machine name, or -u flag to unset the variables in the arguments. 

А вот что происходит, когда я пытаюсь запустить докер:

docker run hello-world 
Post http:///var/run/docker.sock/v1.20/containers/create: dial unix /var/run/docker.sock: no such file or directory. 
* Are you trying to connect to a TLS-enabled daemon without TLS? 
* Is your docker daemon up and running? 

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

EDIT: Я использую Mac OS 10.10.3 и VirtualBox 5.0.3

+0

https://github.com/docker/machine/issues/1716 –

+0

CLI 'docker' не может работать без' docker- machine env', потому что ему нужны эти переменные среды, чтобы узнать, где работает демон docker. Так как нет 'env', CLI' docker' по умолчанию пытается использовать unix-сокет, но на Mac нет никакого unix-сокета для общения с демоном - демон запускается на виртуальной машине и может только достигается через сокет TCP. 'Env' установил бы расположение этого tcp-сокета. – Andy

+0

@MarkSetchell Я обновил VirtualBox до 5.0.3, эта проблема возникает. –

ответ

6

Просто запустите из вашей оболочки:

eval $(docker-machine env default) 

или вы можете установить то же самое на файле .bash_profile.

Вы можете увидеть ENV переменные, если вы просто запустите команду: 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/user/.docker/machine/machines/default" 
export DOCKER_MACHINE_NAME="default" 
# Run this command to configure your shell: 
# eval "$(docker-machine env default)" 

Не забудьте начать свой docker-machine (ака boot2docker)

$ docker-machine start default 

Вы также можете оформить в docker- машинная подкоманда ссылка here

+0

Кто-то еще сказал мне сделать это, но есть исключение. My-MacBook-Pro: ~ мне $ Eval $ (докер-машина окр по умолчанию) открытым /Users/me/.docker/machine/machines/default/ca.pem: нет такого файла или каталога My-MacBook -Pro: ~ me $ docker-machine env default open /Users/me/.docker/machine/machines/default/ca.pem: нет такого файла или каталога –

+4

Похоже, что ваша докер-машина не создавалась. Вы попробовали 'docker-machine ls', а затем, возможно,' docker-machine rm default', если у вас есть машина 'default', а затем' docker-machine create -driver virtualbox default', вы также можете попробовать создать другую машину с другим имя, отличное от 'default'. – Rico

+1

Ну, это сработало. Ключом было немного улучшить VirtualBox, а затем сделать то, что сказал Рико. Это был один из худших событий установки, поэтому бесполезные сообщения об ошибках. Спасибо, Рико. –