version: '3' services: control_node: build: context: . dockerfile: dockerfiles/ansible.dockerfile # Path to the Dockerfile image: control-node container_name: control_node tty: true stdin_open: true command: tail -f /dev/null volumes: - ./playbooks/:/home/ubuntu/playbooks/ networks: ansible_lab_network: ipv4_address: 172.20.0.10 web_node1: build: context: . dockerfile: dockerfiles/nginx.dockerfile # Path to the Dockerfile image: nginx-ssh container_name: web_node1 volumes: - ./authorized_keys:/root/.ssh/authorized_keys networks: ansible_lab_network: ipv4_address: 172.20.0.11 web_node2: image: nginx-ssh container_name: web_node2 volumes: - ./authorized_keys:/root/.ssh/authorized_keys networks: ansible_lab_network: ipv4_address: 172.20.0.12 db_base: image: mysql:latest container_name: db_base environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: ansible_lab MYSQL_USER: ansible_user MYSQL_PASSWORD: ansible_db_password volumes: - mysql_data:/var/lib/mysql networks: ansible_lab_network: ipv4_address: 172.20.0.15 db_node1: build: context: . dockerfile: dockerfiles/mysql.dockerfile # Path to the Dockerfile image: mysql-ssh container_name: db_node1 platform: linux/x86_64 depends_on: - db_base environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: ansible_lab MYSQL_USER: ansible_user MYSQL_PASSWORD: ansible_db_password ports: - "3306:3306" volumes: - ./authorized_keys:/root/.ssh/authorized_keys - mysql_data:/var/lib/mysql networks: ansible_lab_network: ipv4_address: 172.20.0.13 networks: ansible_lab_network: driver: bridge ipam: config: - subnet: 172.20.0.0/16 volumes: mysql_data: