После выполнения инструкций получаем:
- Три работающих контейнера:
- nginx
- php-fpm
- mysql
- Изменяемые файлы располагаются локально в директории /app
- ansible: скрипт развертывания
- docker: скрипт запуска контейнеров
- mysql: база данных
- nginx: конфигурация сайта
- wordpress: движок сайта
- Создается учетная запись developer с паролем password которая может выполнять команду docker без sudo и имеет право на запись в /app
- Доступ к базе данных "mysql -u developer -h 127.0.0.1 --password=password --database=wordpress".
- Доступ к сайту http://ip-address
Дополнения (ИМХО):
- На мой взгляд более целесеобразно монтировать директорию /app по nfs с СХД(sAN), желательно SSD.
- Касательно беспростойносй публикации - в данный момент я не вижу универсального способа (но не говорю что его нет).
sudo apt -y install ansible sshpass git
sudo sed -i 's/#host_key_checking/host_key_checking/' /etc/ansible/ansible.cfg
sudo mkdir -m 0777 /app && cd /app && git clone https://github.com/Kabanus/itm.git
ansible-playbook -b -i localhost, /app/itm/content/ansible/deploy.yml
ansible-playbook -k -b -i localhost, /app/itm/content/ansible/deploy.yml
sudo docker-compose -f /app/itm/content/docker/docker-compose.yml stop