Docker Flashcards
(11 cards)
What is Docker?
Docker is an open-source platform for automating the deployment, scaling, and management of applications inside lightweight, portable containers.
What is the purpose of Docker?
Docker is used to guarantee environment consistency, implement microservices architectures, support CI/CD, enable hybrid and multi-cloud deployments, and improve resource efficiency.
What are the key components of Docker?
Key components include Docker Engine, Docker Images, Docker Containers, Dockerfile, Docker Hub (Registry), and Docker Compose.
How does Docker work?
Docker builds images from Dockerfiles, stores them, runs containers from images, and manages networking and volumes.
What are the advantages of using Docker?
Advantages include portability, lightweight operation, isolation, scalability, and a rich ecosystem.
What are the disadvantages of Docker?
Disadvantages include a larger security surface, storage overhead, complex networking, limitations compared to VMs, and potential resource contention.
What are real-world examples of Docker implementation?
Examples include deploying web applications, data processing, microservices platforms, CI/CD pipelines, and edge computing.
What security considerations should be taken with Docker?
Considerations include using signed images, running containers with least privilege, employing runtime isolation, treating containers as immutable, and network segmentation.
What are performance considerations for Docker?
Performance bottlenecks may include I/O performance, memory limits, startup latency, and logging overhead.
What related standards/protocols apply to Docker?
Related standards include OCI, CNI, CRI, and Docker Registry HTTP API V2.
What are best practices for using Docker?
Best practices include using small, focused images, maintaining declarative configurations, automating builds and scans, defining resource quotas, and centralizing logging and monitoring.