Тестовый проект. Его цель - потрогать ansible и docker. Проект включает в себе ansible playbook, который на 2 машины (192.168.60.20 и 192.168.60.30) деплоит следущий софт
- docker
- Оверлейную сеть weave для коммуникации между docker-контейнерами на разных машинах
- mysql-сервер в docker-контейнере. Из одного контейнера можно коннектиться к другому контейнеру по ip-адресу
Чтобы развернуть и попробовать в действии, как работает межконтейнерное взаимодействие на основе weave-сети, нужно:
-
Установить vagrant и virtualbox
-
Выполнить команду vagrant up. Она развернет 2 виртуальные машины (192.168.60.20 и 192.168.60.30)
-
Проверить, что виртуальные машины доступны по ssh, выполнив команды
- ssh vagrant@192.168.60.20
- ssh vagrant@192.168.60.30
Пароль - vagrant
-
Если на шаге 3 все прошло успешно, то можно запускать playbook с помощью команды
ansible-playbook -i inventory playbook.yaml
-
Заходим по ssh на машину 192.168.60.30.
-
Выполняя команду docker inspect mysql, получаем ip-адрес mysql-контейнера, развернутого на этой машине. В моем случае это 10.44.0.0
-
Заходим по ssh на машину 192.168.60.20.
-
Заходим в shell в контейнере mysql
docker exec -it mysql bash
-
В контейнере коннектимся к mysql-серверу, развернутому в контейнере на машине 192.168.60.30
mysql -u root -h 10.44.0.0 -p
-
В случае успеха видим приглашение от mysql для ввода команд