Title: Containerization with Docker
The objective of this experiment is to demonstrate containerization using Docker by creating a simple web application and running it inside a Docker container. Containerization allows for the packaging and isolation of applications, making them portable and easily deployable across different environments.
- Docker installed on your system
Step 1: Install Docker
- Download and install Docker for your operating system from the official website (https://www.docker.com/get-started).
- Verify that Docker is installed correctly by running the following command in the terminal or command prompt:
Step 2: Create a Simple Web Application
- Create a new directory for your web application (e.g., "my-web-app").
- Inside the "my-web-app" directory, create an index.html file with some simple HTML content (e.g., a "Hello, Docker!" message).
Step 3: Create a Dockerfile
- In the "my-web-app" directory, create a file named "Dockerfile" (without any file extension).
- Open the "Dockerfile" in a text editor and define the container configuration:
# Use an existing base image (e.g., nginx) from Docker Hub
# Copy the web application files to the container's web root directory
COPY index.html /usr/share/nginx/html/
# Expose port 80 to allow incoming HTTP traffic
Step 4: Build the Docker Image
- Open a terminal or command prompt.
- Navigate to the "my-web-app" directory containing the "Dockerfile" and "index.html" file.
- Build the Docker image using the following command (don't forget the period at the end, indicating the current directory):
docker build -t my-web-app .
Step 5: Run the Docker Container
- Once the Docker image is built, run a container from it using the following command:
docker run -d -p 8080:80 my-web-app
- This command maps port 8080 on the host system to port 80 inside the container.
Step 6: Test the Web Application
- Open a web browser and access the web application by navigating to http://localhost:8080.
- You should see the "Hello, Docker!" message displayed on the web page.
Step 7: Clean Up
- Stop the running container by obtaining the container ID and running the following command:
docker stop <container_id>
- Optionally, remove the container and the Docker image from your system:
docker rm <container_id>
docker rmi my-web-app
In this experiment, we demonstrated containerization using Docker by creating a simple web application and running it inside a Docker container. Docker allows developers to package applications along with their dependencies into lightweight, portable containers, making it easier to distribute and deploy applications consistently across different environments. Containerization is a fundamental technology in modern software development and plays a crucial role in enabling DevOps practices such as Continuous Integration/Continuous Deployment (CI/CD) and improving overall development efficiency.