Docker, docker-machine, generic
Управление Docker с локальной машины. Используем docker-machine
. Можно управлять неограниченным количеством виртуальных или реальных хостов. Можно подключить уже настроенную машину или подключиться и настроить окружение Docker. Если Docker не установлен на управляемой машине он будет установлен.
- Если Docker нет не подключаемом хосте, он будет установлен автоматически
- Пакеты Docker будут обновлены (
apt update
,yum update
, ...) - Созданы сертификаты для docker daemon
- Если хост использует
systemd
, то будет создан/etc/systemd/system/docker.service.d/10-machine.conf
- docker будет перезапущен, это остановит все запущенные контейнеры
- имя хоста будет изменено на в соответствие с указанным именем машины (/еtc/hostname). Это важно если вы подключаетесь к существующему серверу.
Пример подключения к существующему серверу (deploy)
docker-machine create \
--driver generic \
--generic-ssh-user=<ssh user> \
--generic-ip-address=<xxx.xxx.xxx.xxx> \
--generic-ssh-key ~/.ssh/id_rsa \
deploy
Пользователь от имени которого от имени которого подключаемся по ssh должен иметь возможность выполнять sudo без пароля.
После успешной настройки можно выполнять команды
docker-mashine ps deploy
можно настроить окружение локального терминала на выполнение команд на определенно машине
# посмотреть переменные окружения для настройки
docker-mashine env machine-name
# применить настройки к текущему терминалу
eval $(docker-machine env deploy)
# посмотреть имя активной машины
docker-mashine active
после установки окружения, все docker-команды будут выполнятся на активной машине, то есть docker ps
будет выполнен не на локальном демоне, а на удаленном сервере.