前面我們準備好了 3-tier 的 web app docker,接下來就是部署。其實無論是不是 AWS,任何的 cloud provider 在這個階段部署起來應該都是大同小異。
前幾天看到這張圖,覺得很經典 XDD
假設各位在 AWS 上的 VPC 已經建好了,那麼我們要做的就是
一個簡單的 role ,可以組合各種 tasks,這就像是 ansbile 版的 docker compose
$ cat ansible/roles/compose.yaml
- hosts: "{{ variable_host | default('localhost') }}"
gather_facts: true
remote_user: centos
become: true
tasks:
- debug:
var: pg_user
- name: Yum | Install Dependencies
yum:
name: "{{ yum_dependencies }}"
vars:
yum_dependencies:
- epel-release
- python-pip
- name: Pip | Install Docker Module for Pip
pip:
name: docker
- name: Docker Network | Create Customized Network
docker_network:
name: mynet
ipam_options:
subnet: '172.20.0.0/16'
- name: Docker | Run Nginx
import_tasks: tasks/run_nginx.yaml
- name: Docker | Run Postgresql
import_tasks: tasks/run_postgresql.yaml
- name: Docker | Run Flask
import_tasks: tasks/run_flask.yaml
- name: Docker | Run React
import_tasks: tasks/run_react.yaml