[Getting started with Docker from scratch] Features of Docker

✍For readers: everyone

✍Column : Docker zero-based introductory tutorial

Docker is one of the most popular open source platforms for developing and automating application deployment. It deploys applications into containers and enables us to separate applications from infrastructure. It is designed to provide a lightweight and fast environment to run our code, and an efficient workflow to transfer code from our laptops to our test environment and then into production.

Features of Docker:

  • Open source platform
  • A simple, lightweight and consistent way to deliver applications
  • Fast and efficient development life cycle.
  • Segregation of Duties
  • service-oriented architecture
  • Safety 
  • Scalability
  • size reduction
  • Image management
  • networking
Open source platform:

One of the most important aspects of an open source platform is the ability to choose which technology to use to complete a task. The Docker engine may be useful for individual developers if they need a lightweight, clean testing environment. If you already have Docker installed on your system and everyone around you is familiar with the Docker toolchain, Docker Community Edition (docker-ce) is a great way to start using containers.

The easy way to deliver your application:

It is one of the most important features of Docker and allows you to set up your system quickly and easily. Thanks to this feature, entering codes can be done quickly and easily. Since Docker has many application scenarios, the infrastructure has nothing to do with the application environment.

Docker containers use a shared operating system and include only necessary dependencies, which makes them smaller and faster to boot than traditional virtual machines. This makes them ideal for deploying applications in a variety of environments, as they can be easily moved between servers, cloud platforms, and local development environments.

Fast and efficient development life cycle:

Docker is about reducing the time between writing code and testing, deploying, and using it. The goal is to make your applications portable, easy to build, and easy to collaborate with.

Segregation of Duties:

Docker is designed to improve consistency by ensuring that the environment in which developers write code is consistent with the environment in which applications are deployed. This reduces the possibility of "once worked in development, now it's an ops problem".

Service-oriented architecture:

Docker also supports service-oriented and microservice architectures.
Docker recommends running only one application or process per container. This encourages the use of a distributed application model, where an application or service is represented by a collection of interconnected containers. This greatly simplifies the distribution, extension, debugging and inspection of applications.

Isolation and safety:

Docker's security management features keep secrets within the cluster itself. Docker containers provide a high degree of isolation between different applications, preventing them from interacting with or affecting each other. This makes them a secure and stable platform for running multiple applications on a single host.

Scalability:

Because Docker containers are lightweight, the platform is easy to scale. Docker's portability also makes it simple to dynamically manage workloads, scaling applications and services up or down in near real-time based on business needs. Docker provides a simple and intuitive command line interface to easily create, manage and deploy containers. It also offers a wide range of tools and integrations for different development environments, making it easy to incorporate into existing workflows.

Size reduction:

Docker provides a great degree of ability to minimize development size. The rationale for this is that it reduces the OS footprint through containers. 

Image management:

Docker uses images to store the necessary files and dependencies required to run an application. These images are created using a Dockerfile, which is a set of instructions that tell Docker how to build the image. Developers can use these images to create new containers or update existing containers. Docker also has a registry called Docker Hub, which is a central repository for storing and sharing images.

networking: 

Docker allows developers to easily connect containers and services using its built-in networking capabilities. It supports the creation of virtual networks and allows developers to specify which containers can communicate with each other. This makes it easy to set up and manage complex microservices architectures.

Guess you like

Origin blog.csdn.net/arthas777/article/details/133465342