Automate Container Management with Ansible
In this lab, you'll practice deploying and managing Docker containers and environments with Ansible. When you're finished with this lab, you'll have deployed an API endpoint and related services through the creation of multiple Ansible playbooks.
Terms and conditions apply.
Lab info
Lab author
Challenge
Get Started in the Lab Environment
Here are the initial instructions and explanation of the lab environment. Read this while your environment is busy creating itself from nothing. Yes, this violates physics; we know. How fun!
Challenge
Create a Docker Image Registry
Begin by using Ansible and the docker_compose module to spin up a Docker registry on the Docker host. Create a user and password for the registry.
Challenge
Create and Populate a MySQL Container
You'll deploy a MySQL container separate from the greater API setup. You will need to map the container volume to a location on the Docker host, map the MySQL container port to the greater host, create and add the container to a Docker network, and supply the provided MySQL dump to the container entrypoint.
Challenge
Build the App Image
Create another Ansible playbook to build an image based on the provided PHP application. This playbook should copy over any needed content to the Docker host, include any environmental variables needed for the application to run, and be pushed to the registry created to the second challenge.
Challenge
Deploy the Containerized API
You'll use the image created in the last challenge and the docker_compose Ansible module to run the PHP application, and generate content for the NGINX endpoint.
Challenge
The Last Challenge
Welcome to the final challenge! This is your last chance to experiment in the environment.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.
Recommended prerequisites
- Ansible familiarity, for example knowledge of how to run playbooks
- Docker familiarity
- Visual Studio Code familiarity