The Inception 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. The project consists of setting up a small infrastructure composed of different services under specific rules, all done in a virtual machine using Docker Compose.
The mandatory part requires setting up:
- A Docker container with NGINX that uses TLSv1.2 or TLSv1.3 protocol
- A Docker container with WordPress + php-fpm
- A Docker container with MariaDB
- A volume for the WordPress database
- A volume for the WordPress website files
- A Docker network to connect the containers
.
├── .git/
├── .gitignore
├── Makefile
├── README.md
├── images
│ └── container-diagram.png
└── srcs
├── .env
├── docker-compose.yml
└── requirements
├── mariadb
│ ├── Dockerfile
│ └── tools
│ └── run.sh
├── nginx
│ ├── Dockerfile
│ └── conf
│ └── wordpress.conf
└── wordpress
├── Dockerfile
└── tools
└── run.sh
Clone the project and change directory into the repository using:
git clone https://github.com/Taanviir/Inception.git && cd Inception
To interact with this project, various commands can be executed in the root directory:
make
: Builds and starts all containersmake down
: Stops and removes all containers and networksmake build
: Builds images without using cachemake clean
: Stops containers, removes images and volumesmake dry-run
: Checks if Docker Compose works without starting containersmake info
: Displays information about containers, images, networks, volumesmake logs-<service>
: Shows logs for a specific service (e.g: make logs-nginx)make exec-<service>
: Runs a shell inside a specific service (e.g: make logs-mariadb)
- Complete Intro to Containers (btholt.github.io)
- Best practices for building containers | Cloud Architecture Center | Google Cloud
- Online Docker Training Course for the Beginner | KodeKloud
- Docker Explained (youtube.com)
- Learn Docker in 12 Minutes 🐳 (youtube.com)
- Never install locally, there's a better way (youtube.com)
- Virtual Machines vs Containers (youtube.com)
- php - Official Docker Image | Docker Hub
- wp core download – WP-CLI Command | Developer.WordPress.org
- wp core – WP-CLI Command | Developer.WordPress.org
- wp config create – WP-CLI Command | Developer.WordPress.org
- wp core install – WP-CLI Command | Developer.WordPress.org
- Server Environment – Make WordPress Hosting