You are developing a new containerized application for a client. The application will consists of two containers: one for the frontend application, and one for the database. Your client has security concerns about the database, and they want it to run on a private network that is not publicly accessible.
You will need to create two networks. One will house the frontend application that is publicly accessible, and the other network, which is flagged as internal, is where the database will reside. Create a MySQL container connected to the private network and a Nginx container that is connect to both networks.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create the frontend network
Use the docker network to create the frontend network:
docker network create frontend
- Create the localhost network
User the docker network command to create the localhost network:
docker network create localhost --internal
- Create a MySQL container
Create a MySQL container that is attached to the localhost network:
docker container run -d --name database --network localhost -e MYSQL_ROOT_PASSWORD=P4ssW0rd0! mysql:5.7
- Create an Nginx container
Create an Nginx container that is attached to the localhost network:
docker container run -d --name frontend-app --network frontend nginx:latest
- Connect frontend-app to the internal network
Connect
frontend-app
to thelocalhost
network:docker network connect localhost frontend-app