Introduction to Docker


    Available since 2013, the official Docker definition, paraphrased, states that Docker is an open platform for developing, shipping, and running applications as containers.
Previous: Project Overview: Create a Voice AssistantTiếng Việt

What will you learn?

You will learn

    After reading this post, you will be able to: 

  • Define what Docker is
  • Describe the Docker process and underlying technology
  • List the benefits of Docker containers, and 
  • Identify the challenges of Docker containers

Docker defined

    Available since 2013, the official Docker definition, paraphrased, states that Docker is an open platform for developing, shipping, and running applications as containers. 


    Docker became popular with developers because of its simple architecture, massive scalability, and portability on multiple platforms, environments, and locations. 

The Docker process

    Docker isolates applications from infrastructure, including the hardware, the operating system, and the container runtime. 

Docker’s underlying technology

  • Written in Go programming language
  • Uses Linux kernel’s features 
  • Uses the namespaces technology to provide an isolated workspace called “container”
  • Creates a set of namespaces for every container and each aspect runs in a separate namespace with access limited to that namespace

Docker is written in the Go programming language. Docker uses Linux kernel features to deliver its functionality. Docker also uses namespaces to provide an isolated workspace called the container. And Docker creates a set of namespaces for every container and each aspect runs in a separate namespace with access limited to that namespace.

Docker add-ons

Docker methodology has inspired additional innovations, including: Complementary tools such as Docker CLI, Docker Compose, and Prometheus, and various plugins, including storage plugins; orchestration technologies using Docker Swarm or Kubernetes; and development methodologies using microservices and serverless. 

Docker benefits

  • Consistent and isolated environments
  • Fast deployment
  • Repeatability and automation
  • Supports Agile and CI/CD DevOps practices
  • Versioning for easy testing, rollbacks, and redeployments
  • Collaboration, modularity, and scaling
  • Easy portability and flexibility

Docker offers the following benefits: Docker’s consistent and isolated environments result in stable application deployments. Deployments occur in seconds. Because Docker images are small and reusable, they significantly speed up the development process. And, Docker automation capabilities help eliminate errors, simplifying the maintenance cycle. Docker supports Agile and CI/CD DevOps practices. Docker’s easy versioning speeds up testing, rollbacks, and redeployments. Docker helps segment applications for easy refresh, cleanup, and repair. Developers collaborate to resolve issues faster and scale containers when needed. And, Docker images are platform-independent, so they are highly portable. 

Challenging use cases

Docker is not a good fit for applications with these qualities: 

  • Require high performance or security
  • Based on Monolith architecture
  • Use rich GUI features
  • Perform standard desktop or limited functions

Recap

In this post, you learned that: 

  • Docker is an open platform for developing, shipping, and running applications as containers
  • Docker speeds up the deployment process across multiple environments
  • Docker uses namespaces technology to provide an isolated workspace called the “container.” 
  • Docker creates a set of namespaces for every container and each aspect runs in a separate namespace with access limited to that namespace
  • Docker supports Agile and CI/CD DevOps practices
  • Docker containers are not a good fit for applications based on monolithic architecture or applications that require high performance or security


Đăng nhận xét

Mới hơn Cũ hơn

POST ADS TOP

POST ADS BOTTOM