Skip to content

Learning System Administration using Docker containers

Notifications You must be signed in to change notification settings

Taanviir/Inception

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inception

Table of Contents

Description

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

Project Overview

Directory Structure:

.
├── .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

Container Diagram:

Inception Docker Diagram

Usage

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 containers
  • make down: Stops and removes all containers and networks
  • make build: Builds images without using cache
  • make clean: Stops containers, removes images and volumes
  • make dry-run: Checks if Docker Compose works without starting containers
  • make info: Displays information about containers, images, networks, volumes
  • make 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)

Resources

Docker Fundamentals and Best Practices

Docker Compose Overview

WordPress with PHP-FPM

MariaDB

NGINX with TLSv1.2/TLSv1.3

About

Learning System Administration using Docker containers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published