- Learning Windows Server Containers
- Srikanth Machiraju
- 394字
- 2021-07-02 23:23:20
Docker architecture
Docker uses client-server architecture. The Docker daemon is the heart of the Docker platform, and it should be present on every host, as it acts as a server. The Docker daemon is responsible for creating the containers, managing their life cycle, creating and storing images, and many other key things around containers. Applications are designed and developed as containers on developer's desktop and packaged as Docker images. Docker images are read-only templates that encapsulate the application and its dependent components. Docker also provides a set of base images that contain a pretty thin OS to start application development. Docker containers are nothing but instances of Docker images. Any number of containers can be created from an image within a host. Containers run directly on the Linux kernel in an isolated environment.
The Docker repository is the storage for Docker images. Docker provides both public and private repositories. Docker's public image repository is called Docker Hub, anyone can search the images in the public repository from Docker CLI or a web browser, download the image, and customize as per the application's needs. Since public repositories are not well suited for enterprise scenarios, which demand more security, Docker provides private repositories. Private repositories restrict access to your images for users within your enterprise; unlike Docker Hub, private repositories are not free. Docker registry is a repository for custom user images, users can pull any publicly available image or push to store and share across other users. The Docker daemon manages a registry per host too, when asked for an image the daemon first searches within the local registry and then the public repositories aka Docker Hub. This mechanism eliminates downloading images from the public repository each time.
Docker uses several Linux features to deliver the functionality. For example, Docker uses namespaces for providing isolation, cgroups for resource management, and union filesystem for making the containers extremely lightweight and fast. Docker client is the command-line interface, which is the only user interface for interacting with the Docker daemon. The Docker client and daemon can run out of a single system serving as both client and server. When on the server, users can use the client to communicate with the local server. Docker also provides an API that can be used to interact with remote Docker hosts. This can be seen in the following image:

- Linux網絡管理與配置(第2版)
- Cybersecurity:Attack and Defense Strategies
- Arch Linux Environment Setup How-to
- 精解Windows8
- Linux操作系統應用編程
- 網絡操作系統教程:Windows Server 2016管理與配置
- Joomla! 3 Template Essentials
- 嵌入式系統及其應用(第三版)
- OpenStack系統架構設計實戰
- HTML5 Enterprise Application Development
- Windows 7實戰從入門到精通(超值版)
- Heroku Cloud Application Development
- μC/OS-III內核實現與應用開發實戰指南:基于STM32
- Linux操作系統案例教程(第2版)
- BuddyPress Theme Development