The application will consists of two containers: one for the frontend application, and one for the database. You have security concerns about the database, and you want it to run on a private network that is not publicly accessible.
In this lab, we will need to create two networks. One will use 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.
Use the docker network to create the frontend network:
docker network create frontend
User the docker network command to create the localhost network:
docker network create localhost --internal
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 that is attached to the localhost network:
docker container run -d --name frontend-app --network frontend nginx:latest
Connect frontend-app to the localhost network:
docker network connect localhost frontend-app