Is an individual project about system administration by using dockerfiles for the creation and management of custom images and micro services. Use of docker-compose for the deployment of containers, the creation and management of the network and storage space
├── docker-compose.yml
├── requirements
│ ├── mariadb
│ │ ├── Dockerfile
│ │ ├── conf
│ │ │ └── mariadb.conf
│ │ └── tools
│ │ └── mariadb.sh
│ ├── nginx
│ │ ├── Dockerfile
│ │ └── conf
│ │ └── nginx.conf
│ ├── wordpress
│ │ ├── Dockerfile
│ │ ├── conf
│ │ │ └── www.conf
│ │ ├── tools
└ └ └ └── wp.sh
This project aims to broaden your knowledge of system administration by using Docker. You will virtualize several Docker images, creating them in your new personal virtual machine.
This project consists in having you set up a small infrastructure composed of different services under specific rules. The whole project has to be done in a virtual machine. You have to use docker compose.
Each Docker image must have the same name as its corresponding service. Each service has to run in a dedicated container. For performance matters, the containers must be built either from the penultimate stable version of Alpine or Debian. The choice is yours. You also have to write your own Dockerfiles, one per service. The Dockerfiles must be called in your docker-compose.yml by your Makefile. It means you have to build yourself the Docker images of your project. It is then for- bidden to pull ready-made Docker images, as well as using services such as DockerHub (Alpine/Debian being excluded from this rule). You then have to set up:
Your containers have to restart in case of a crash.
To make things simpler, you have to configure your domain name so it points to your local IP address. This domain name must be login.42.fr. Again, you have to use your own login. For example, if your login is wil, wil.42.fr will redirect to the IP address pointing to wil’s website.
For this project, the bonus part is aimed to be simple.
A Dockerfile must be written for each extra service. Thus, each one of them will run inside its own container and will have, if necessary, its dedicated volume.
Bonus list: