Docker Zero To Hero Bangla Course (Module-1- Getting Started with Docker)

 


          Docker Zero To Hero Bangla Course (Module-1- Getting Started with Docker)


Docker is a platform that allows developers to package, distribute, and manage applications within containers. These containers encapsulate everything an application needs to run, including libraries, dependencies, and runtime environments. Docker utilizes operating system-level virtualization to provide lightweight and efficient isolation of application resources.


Docker Installation in Ubuntu

sudo apt-get update

sudo apt-get install docker.io

sudo systemctl enable docker 

sudo groupadd docker

sudo usermod -aG docker $USER

newgrp docker 

docker --version 

 

Repo Link: https://github.com/shawon100/python_flask_docker 

Clone Repo: git clone https://github.com/shawon100/python_flask_docker 

Go to python_flask_docker folder and Build the Docker Image

docker build -t pythonflaskdocker .

Run the container

docker run -d -p 7000:5000 --name pythonflaskcontainer pythonflaskdocker

Open your browser: http://localhost:7000

Logs Checking Command in Docker

docker logs -f pythonflaskcontainer

 

Stop Docker Container

docker stop pythonflaskcontainer 

Start Docker Container

docker start  pythonflaskcontainer 

Remove Docker Container

docker rm  pythonflaskcontainer

Remove Docker Images

docker rmi  pythonflaskdocker


Video tutorial (Language- Bangla)



Advantages of Docker:

  1. Portability: Docker containers are highly portable and can run on any machine that has the Docker runtime installed, regardless of the underlying operating system. This eliminates the "it works on my machine" problem and ensures consistent behavior across different environments.

  2. Consistency: With Docker, developers can define the environment and dependencies required for their applications in a Dockerfile. This ensures consistency between development, testing, and production environments, reducing the likelihood of runtime errors due to environmental differences.

  3. Isolation: Docker containers provide process-level isolation, enabling applications to run independently of one another on the same host. This isolation enhances security by minimizing the impact of any vulnerabilities or issues within one container on others running on the same system.

  4. Resource Efficiency: Docker containers share the host system's kernel, resulting in lower overhead compared to traditional virtual machines. This allows for higher resource utilization and enables running more containers on the same hardware, leading to better resource efficiency.

  5. Rapid Deployment: Docker enables rapid deployment of applications by packaging them into lightweight, portable containers. Developers can quickly build, deploy, and scale applications using Docker's streamlined workflows and tools.

  6. Version Control and Rollback: Docker images are version-controlled, allowing developers to track changes and roll back to previous versions if needed. This facilitates collaboration among team members and ensures reproducibility of builds across different environments.

  7. Microservices Architecture: Docker is well-suited for microservices architecture, where applications are decomposed into smaller, independently deployable services. Each microservice can run in its own container, making it easier to develop, deploy, and scale complex distributed systems.

  8. Ecosystem and Community Support: Docker has a vibrant ecosystem and a large community of users and contributors. This ecosystem includes a wide range of tools, plugins, and integrations that extend Docker's capabilities and address various use cases, making it a versatile and flexible platform for building and deploying applications.

Overall, Docker simplifies the process of developing, shipping, and running applications, making it an indispensable tool for modern software development and deployment workflows.

 

 

 

 

 




Download Coding Interview Book and Get More Tutorials for Coding and Interview Solution: Click Here

Download System Design Interview Book and Get More Tutorials and Interview Solution: Click Here

Do you need more Guidance or Help? Then Book 1:1 Quick Call with Me: Click Here

Share on Google Plus

About Ashadullah Shawon

I am Ashadullah Shawon. I am a Software Engineer. I studied Computer Science and Engineering (CSE) at RUET. I Like To Share Knowledge. Learn More: Click Here
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment