What is docker?
- "an open platform for developers and sysadmins to build, ship, and run distributed applications" https://www.docker.com/whatisdocker/
- analogous to shipping containers where the goods are loaded in standard containers and ship to different locations
- It leverages LXC (Linux Containers).
- It uses Linux Kernel facilities such as cGroups, namaspaces and SElinux to provide isolation between containers
Advantages
- portable deployments
- containers are portable
- applications can be bundled into single units
- applications can be deployed on different linux environments without making changes
- fast application delivery
- easy for developers and admins to collaborate and deploy applications on production
- standard container format (developers only worry about the applications)
- admin only worry about deploying containers into the servers
- building a containers takes seconds
- containers can be deployed on cloud environments, physical servers, virtual machines, etc
- use of less resources
- containers do not use a full operational system
- resources are lesser as compared to virtual machines
Difference between VM and containers
Docker components
- Images
- e.g., ubuntu or centos and with some applications already installed. It is a read-only template
- Registries
- repository for Docker images (e.g., Docker hub)
- Containers
- execution environment for applications
- applications and services are packaged into containers
- Docker client and server
Supported platforms
- Mac and Windows requires special wrappers such as boot2Docker and vagrant can be used for Docker deployments
- Debian
- RHEL
- SUSE
- Microsoft Azure
- Gentoo
- Amazon EC2
- Google Cloud Platform
- Arch Linux
- Rackspace
- IBM Softlayer
- Digital ocean
- FrugalWare
- CRUX Linux
- Ubuntu
Docker architecture
- Docker daemon
- Runs on the host machine
- Docker client
- user interface with docker
References
Evernote helps you remember everything and get organized effortlessly. Download Evernote. |
No comments:
Post a Comment