Использование Docker в терминале Mac Os X
12 Jan 2014Этот небольшой пост посвящен именно использованию докера на маке. Если у вас еще не установили докер, просто следуйте документации.
Итак, у вас есть установленный Vagrant и VirtualBox, также вы имеете склонированные репозиторий с докером и запущенное виртуальное окружение.
Чтобы начать использовать докер нам придется проделать несколько нехитрых операций, а точнее нужно скомпилировать клиент докера из исходников и запустить демон докера в виртуальной машине.
Если у вас нет Go, то его нужно установить, а также установить Mercurial (он понадобиться чуть позже).
brew install go --devel --cross-compile-common --with-cgo
Теперь создадим временную папку tmp, в которую скачаем все зависимости для компилирования докера. Mercurial нам нужен для того, чтобы получить все зависимости, так как одна из них лежит в меркуриал репозитории.
mkdir tmp
export GOPATH=`pwd`/tmp
go get -v github.com/dotcloud/docker/docker
В склонированном репозитории докера нужно переключиться на последнюю версию (в моем случае это v0.7.5), в скаченных зависимостях нужно найти докер и тоже переключиться на последнюю версию.
Немного отвлечемся от компилирования докера, оставив на последок, и перейдем к работе с виртуальной машиной. После трех простых шагов манипуляции с виртуальной машиной будут закончены.
Нам нужно добавить строчку с пробросом порта в блок Vagrant::Config.run нашего Vagrantfile.
config.vm.forward_port 4243, 4243
Теперь немного изменим файл /etc/init/docker.conf внутри виртуальной машины.
description "Docker daemon" start on filesystem and started lxc-net stop on runlevel [!2345] respawn script /usr/bin/docker -d -H=tcp://0.0.0.0:4243/ end script
Перезагрузим виртуальную машину
vagrant reload
После всех наших действий нам осталось запустить компиляцию докера. Перейдем в наш склонированный репозиторий в папку docker и запустим компиляцию
go build docker.go
Наконец-то можете проверить работу докера
./docker -H tcp://127.0.0.1:4243/ version