Docker Flashcards
Docker
Provides many opportunities for application development and deployment
Docker facilitates the process of packing, scaling & managing apps in containers, in turn reduce time & risks of errors also optimize use computing resources and automate the process of deploying, scaling, updating apps
Roles of Docker
Application containerization, isolated environment, resource management, portability, dependency management, automation
App Containerization
Package apps and their dependencies in containers. This makes it easy to deploy & scale.
Isolated Environment
Containers create isolated environment for apps. This avoids conflicts between dependencies & reduce risk of errors
Portability
- Containers can be run on any platform that has docker.
- Transfer of apps in different environment
Resource Management
- Allows you to manage resources allocated to containers
- Optimize computing resources
Dependency Management
- Manage app dependencies
- Easy to install and update libraries
Automation
- Allows you to automate the process of deploying, scaling and updating apps
- Time reduced & reduced risks
Methods that speed up build process
- Caching
- Multi-stage build
- Using base images
- Using automation tools
Caching
Cache to dockerfile
Multi-stage build
Create images consisting of several steps
Using base images
Use available images
Using automation tools
Docker compose and kubernates