Image Source: https://www.blackmagicboxes.com/?p=349
An operating system-level virtualization technology that packages the application software system into a software container (Container), which contains the code of the application software itself, as well as the required operating system core and library. Distribute the available hardware resources of different software containers through a unified namespace and shared API, creating an independent sandbox execution environment for applications, so that users can easily create and manage systems or application containers.
Before the emergence of container technology, developers often wrote different versions of applications to deal with different operating system environments, causing time and labor costs. When the development environment is introduced into container services, developers only need to write compatible Applications in the container environment can focus more on product quality.
There is a bug again! Why pawn again! In the traditional operating system environment, different applications are often installed, and software and software are often repulsive, making the software unusable. When an application is packaged in a container, the operating environment is independent and will not affect other applications.
When software development is completed, product deployment and migration are carried out, a large amount of time is often spent on building and debugging in the traditional environment construction process. When container technology is introduced, developers only need to package the software and deliver it to maintenance. Operators can quickly deploy different application packages in any place that supports the container environment.
Containerization of current services
Continuous Integration and Continuous Deployment (CI/CD)
Microservice architecture import
Service planner: focus on how to design service architecture
System Manager: Focus on how to manage containers
Program developers: focus on application development