Docker Machine предназначен для автоматизации развертывания виртуальных машин (хостов) с настроенным Docker на различных платформах виртуализации. Использование Docker Machine позволит избавиться от необходимости выполнять настройки вручную для каждого хоста в отдельности, а также, по мере необходимости, увеличивать или уменьшать размеры фермы Docker. На текущий момент Docker Machine имеет драйверы для интеграции с VMware vSphere, VMware Fusion и VMware vCloud Air.
Ниже приведен пример установки Docker Machine для 64-битной версии Ubuntu 14.04.
Корректность установки можно проверить, выполнив команду:
Корректность установки можно проверить, выполнив команду:
-d vmwarevsphere - указывает тип платформы, на которой создается docker хост;
--vmwarevsphere-vcenter - имя или IP адрес сервера vCenter;
--vmwarevsphere-username - имя учетной записи для подключения;
--vmwarevsphere-password - пароль учетной записи для подключения;
--vmwarevsphere-datacenter - виртуальный ЦОД, в котором будет создан хост;
--vmwarevsphere-datastore - хранилище для размещения ВМ хоста;
--vmwarevsphere-network - сеть, к которой требуется подключить хост;
docker-vm01 - имя ВМ.
Вместо ввода параметров для команды docker-machine create, вы можете предварительно задать переменные окружения, например:
Посмотреть список существующих хостов, созданных через Docker Machine, можно с помощью команды:
Ниже приведен пример установки Docker Machine для 64-битной версии Ubuntu 14.04.
Подготовительные шаги
Перед установкой Docker Machine потребуется установить Docker Client. Для установки Docker добавьте публичный ключ репозитория:apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609DОтредактируйте файл /etc/apt/sources.list.d/docker.list добавив в него репозиторий:
deb https://apt.dockerproject.org/repo ubuntu-trusty mainОбновите информацию о пакетах:
apt-get updateУстановите docker-engine:
apt-get install docker-engineКорректность установки можно проверить, выполнив команду:
docker versionДля интеграции с VMware vSphere используется набор утилит govc. Для установки govc выполните следующие команды:
wget https://github.com/vmware/govmomi/releases/download/v0.2.0/govc_linux_amd64.gzВ данном примере устанавливается версия 0.2.0. Ссылку на актуальную версию бинарников govc под нужную платформу можно найти в заметках к релизу: https://github.com/vmware/govmomi/releases).
gzip -d govc_linux_amd64.gz
chmod +x govc_linux_amd64
mv govc_linux_amd64 /usr/local/bin/govc
Корректность установки можно проверить, выполнив команду:
govc versionОпционально, вы можете заранее загрузить актуальный образ boot2docker.iso (ссылку на актуальную версию можно найти здесь: https://github.com/boot2docker/boot2docker/releases). Если этого не сделать, то при создании нового хоста Docker Machine самостоятельно скачает образ:
wget https://github.com/boot2docker/boot2docker/releases/download/v1.9.1/boot2docker.iso
mkdir -p ~/.docker/machine/cache/
mv boot2docker.iso ~/.docker/machine/cache/
Установка Docker Machine
Для установки Docker Machine выполните:curl -L https://github.com/docker/machine/releases/download/v0.5.2/docker-machine_linux-amd64.zip >machine.zip && \Ссылку на актуальную версию можно найти здесь: https://github.com/docker/machine/releases
unzip machine.zip && \
rm machine.zip && \
mv -f docker-machine* /usr/local/bin
Корректность установки можно проверить, выполнив команду:
docker-machine version
Работа с Docker Machine
Для создания нового хоста используется команда:docker-machine create -d vmwarevsphere \, где:
--vmwarevsphere-vcenter="vc01.company.local" \
--vmwarevsphere-username="administrator@vsphere.local" \
--vmwarevsphere-password="P@ssw0rd" \
--vmwarevsphere-datacenter="DC" \
--vmwarevsphere-datastore="datastore" \
--vmwarevsphere-network="VM Network" docker-vm01
-d vmwarevsphere - указывает тип платформы, на которой создается docker хост;
--vmwarevsphere-vcenter - имя или IP адрес сервера vCenter;
--vmwarevsphere-username - имя учетной записи для подключения;
--vmwarevsphere-password - пароль учетной записи для подключения;
--vmwarevsphere-datacenter - виртуальный ЦОД, в котором будет создан хост;
--vmwarevsphere-datastore - хранилище для размещения ВМ хоста;
--vmwarevsphere-network - сеть, к которой требуется подключить хост;
docker-vm01 - имя ВМ.
Вместо ввода параметров для команды docker-machine create, вы можете предварительно задать переменные окружения, например:
export VSPHERE_CPU_COUNT=2позволит задать количество виртуальных процессоров для создаваемых ВМ. Список параметров и переменных окружения для vSphere доступен по ссылке: https://docs.docker.com/machine/drivers/vsphere/
Посмотреть список существующих хостов, созданных через Docker Machine, можно с помощью команды:
docker-machine lsУдалить хост можно с помощью команды:
docker rm <имя_хоста>Если в процессе создания хоста что-то пошло не так, можно принудительно удалить данный хост:
docker rm -f <имя_хоста>Вы можете использовать компьютер, на котором установлен Docker Client и Docker Machine, в качестве клиента для управления Docker на хостах. Настройка клиента выполняется через переменные окружения. Для определения значения переменных окружения, выполните команду docker-machine env:
docker-machine env docker-vm01Переменные окружения можно задать вручную, либо с помощью команды:
eval "$(docker-machine env docker-vm01)"После этого вы можете работать с демоном Docker на удаленном хосте также, как если бы он был запущен локально.