Giter Site home page Giter Site logo

inception's Introduction

Inception




Dive into System Administration with Docker! This Project guides you through creating Virtualized Environments using Docker within a Personal VM, expanding your knowledge and Practical Skills.

Get hands-on with Containerization, building Custom Images, and managing Applications efficiently.


Preview :



First of all :

Docker is not a Virtual Machine. It is a mechanism to Containerize Applications and Isolate the Processes running these applications. Docker uses a feature in the Kernel called NAMESPACES.

A Linux namespace is a feature that the Linux kernel provides to isolate resources for a set of processes. This offers two main advantages:

  1. Isolation of resources: One troublesome process won’t affect the entire host but only those processes within the same namespace.
  2. Security: A security flaw in a process running under a specific namespace won’t give the attacker access to the whole system.

Quick Overview of Namespaces :

  • User namespace: Contains an independent set of user IDs and group IDs.
  • PID namespace: Contains its own set of process IDs (PIDs). Each new namespace starts with PID 1.
  • Mount namespace: Manages mount points independently.
  • Network namespace: Virtualizes the network stack, including interfaces, IPs, route tables, and sockets.
  • IPC (Inter-Process Communication) namespace: Defines shared memory segments for processes within a namespace.
  • UTS (Unix Time-Sharing) namespace: Allows different host names and domain names for each namespace.
  • Time namespace: Allows different system times within the system (introduced in 2020).
  • CGroup (Control Groups) namespace: Limits resource usage (CPU, memory, disk, etc.) for a group of processes (introduced in 2016).

Note :

  • Virtual machines isolate hardware, while Docker isolates processes.

Project Structure :

The project involves creating three containers, each based on a minimal OS image and configured manually:

  • Container

    • Base Image: version: 11
    • Packages Installed: nginx, openssl
    • Purpose: To serve as a web server that handles HTTP requests and serves the WordPress application.
  • Container

    • Base Image: version: 11
    • Packages Installed: mariadb-server
    • Purpose: To act as the database server for the WordPress application, storing all data in a relational database.
  • Container

    • Base Image: version: 11
    • Packages Installed: php, php-fpm, php-mysql, wordpress
    • Purpose: To provide the application layer for the WordPress site, handling user interactions and managing content.

License :

This project is licensed under the MIT License.

inception's People

Contributors

ababdelo avatar

Stargazers

 avatar

Watchers

 avatar

inception's Issues

Redirect HTTP to HTTPS in Nginx Configuration

Redirect HTTP to HTTPS in Nginx Configuration

Problem:

The current **Nginx Configuration **allows HTTP requests on port 80, which results in displaying the default Nginx welcome page.

Current Configuration:

The current nginx.conf only listens on port 443 for HTTPS connections and does not handle HTTP requests on port 80.

Goal:

Redirect all HTTP requests to HTTPS.
Ensure that accessing http://ababdelo.42.fr:80 either redirects to https://ababdelo.42.fr:443 or returns an error page.

Example of the issue:

Accessing http://ababdelo.42.fr:80 currently shows the default Nginx welcome page instead of redirecting to https://ababdelo.42.fr:443.

Preview:

issue

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.