ansible. role2 docker - docker-compose

Дан­ная роль уста­но­вит docker и docker-compose, если необ­хо­ди­мо что­бы рабо­та­ло через прок­си, то в плейбуке:
/etc/ansible/playbooks/roles_play/docker-doc-compose.yml

Thank you for reading this post, don't forget to subscribe!

в пере­мен­ной proxy:  ста­вим или true или false

 

созда­ём струк­ту­ру директорий:
mkdir -p /etc/ansible/{playbooks/roles_play,roles/docker_docker_compose/{defaults,handlers,meta,tasks,templates}}

В фай­ле:
/etc/ansible/hosts
созда­ём груп­пы по кото­рым будет про­хо­дить­ся плейбук:
cat /etc/ansible/hosts

[test]
192.168.1.173
192.168.1.175

[test2]
192.168.1.171
192.168.1.172

[NOproxy]
localhost
127.0.0.1
192.168.1.171
192.168.1.172
192.168.1.173
192.168.1.175

Груп­па NOproxy нуж­на, если будет исполь­зо­вать­ся прок­си сервер(а меж­ду собой доке­ры долж­ны общать­ся не через прокси)

 

в дирек­то­рии:
/etc/ansible/roles/docker_docker_compose/tasks/
создаём:

cat /etc/ansible/roles/docker_docker_compose/tasks/add-repo-docker.yml
[codesyntax lang="bash"]

[/codesyntax]

 

cat /etc/ansible/roles/docker_docker_compose/tasks/docker-compose-preinstall.yml
[codesyntax lang="bash"]

[/codesyntax]

 

cat /etc/ansible/roles/docker_docker_compose/tasks/docker-preinstall.yml

[codesyntax lang="bash"]

[/codesyntax]

 

cat /etc/ansible/roles/docker_docker_compose/tasks/install-docker-compose.yml

[codesyntax lang="bash" blockstate="collapsed"]

[/codesyntax]

 

cat /etc/ansible/roles/docker_docker_compose/tasks/install-docker.yml

[codesyntax lang="bash"]

[/codesyntax]

 

 

cat /etc/ansible/roles/docker_docker_compose/tasks/docker_proxy.yaml

[codesyntax lang="bash"]

[/codesyntax]

 

 

cat /etc/ansible/roles/docker_docker_compose/tasks/main.yml

[codesyntax lang="bash"]

[/codesyntax]

cat /etc/ansible/roles/docker_docker_compose/tasks/proxy-add-repo-docker.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

 

cat /etc/ansible/roles/docker_docker_compose/tasks/proxy-docker-compose-preinstall.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

 

cat /etc/ansible/roles/docker_docker_compose/tasks/proxy-docker-preinstall.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

 

cat /etc/ansible/roles/docker_docker_compose/tasks/proxy-install-docker-compose.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

 

cat /etc/ansible/roles/docker_docker_compose/tasks/proxy-install-docker.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

 

 

 

cat /etc/ansible/roles/docker_docker_compose/handlers/main.yml

[codesyntax lang="bash"]

[/codesyntax]

 

 

cat /etc/ansible/roles/docker_docker_compose/templates/config.json

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

 

 

cat /etc/ansible/roles/docker_docker_compose/templates/http-proxy.conf

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

 

 

cat /etc/ansible/playbooks/roles_play/docker-doc-compose.yml

[codesyntax lang="php"]

[/codesyntax]

 

 

 

Запус­ка­ем плей­бук без прок­си, меня­ем в /etc/ansible/playbooks/roles_play/docker-doc-compose.yml  пере­мен­ную proxy на false
- proxy: false

ansible-playbook -u ansible /etc/ansible/playbooks/roles_play/docker-doc-compose.yml

Запус­ка­ем плей­бук с прок­си, меня­ем в /etc/ansible/playbooks/roles_play/docker-doc-compose.yml  пере­мен­ную proxy на true - proxy: true ansible-playbook -u ansible /etc/ansible/playbooks/roles_play/docker-doc-compose.yml

=================

Что­бы про­ве­рить кор­рект­но ли рабо­та­ет уста­нов­ка через прок­си сер­вер, нам пона­до­бит­ся прок­си сер­вер и на целе­вом сер­ве­ре настро­ить iptables, вот скрипт для простоты

[codesyntax lang="bash"]

[/codesyntax]

запус­ка­ем его и у нас на вне­ш­ку доступ будет толь­ко через наш прокси.