Lecture Notes 1.1.3 (Features of Docker, Components of Docker)
Lecture Notes 1.1.3 (Features of Docker, Components of Docker)
2
Features of Docker
• Portability:
• Docker ensures that containers run the same way on different systems, making
applications highly portable.
• Containers encapsulate all dependencies and configurations, ensuring consistency
across environments.
• Isolation:
• Containers run in isolated environments, preventing conflicts between different
applications and their dependencies.
• Each container has its own file system, processes, and network interfaces.
• Resource Efficiency:
• Containers are lightweight and share the host OS kernel, reducing resource usage
compared to virtual machines.
• This efficiency allows more containers to run on the same hardware compared to virtual
machines.
Features of Docker
• Version Control:
• Docker images can be versioned, allowing developers to track changes and roll back to
previous versions if needed.
• This is useful for maintaining different versions of an application and its dependencies.
• Security:
• Containers provide a level of security by isolating applications from each other and the
host system.
• Docker includes features like user namespaces, control groups (cgroups), and security
modules (e.g., AppArmor, SELinux) to enhance security.
Components of Docker
• Images:
Definition:
• Docker images are read-only templates used to create containers.
• An image contains the application code, libraries, dependencies, and configuration
files.
• Building Images:
• Images are built using Dockerfiles, which are scripts that contain a series of
instructions for assembling the image.
• Common instructions include FROM (base image), COPY (copy files into the
image), RUN (execute commands), and CMD (specify the command to run when
the container starts).
Components of Docker
• Containers:
Definition:
• Containers are runtime instances of Docker images.
• They provide isolated environments where applications run.
• Managing Containers:
• Containers can be started, stopped, restarted, and deleted using Docker
commands.
• Common commands include docker run (create and start a container), docker
stop (stop a running container), and docker rm (remove a container).
Components of Docker
• Volumes:
Definition:
• Volumes are used for persistent storage in Docker containers.
• They allow data to persist even after a container is deleted.
• Managing Volumes:
• Volumes can be created, listed, and deleted using Docker commands.
• Common commands include docker volume create (create a volume), docker
volume ls (list volumes), and docker volume rm (remove a volume).
Components of Docker
• Networks:
Definition:
• Docker networks enable communication between containers.
• Docker provides several network drivers, including bridge, host, and overlay.
• Managing Networks:
• Networks can be created, listed, and deleted using Docker commands.
• Common commands include docker network create (create a network), docker
network ls (list networks), and docker network rm (remove a network).
Components of Docker
• Registry:
Definition:
• A Docker registry is a repository for storing and distributing Docker images.
• Docker Hub is the most popular public registry, but private registries can also be
set up for internal use.
• Using Registries:
• Images can be pushed to and pulled from registries using Docker commands.
• Common commands include docker push (push an image to a registry)
and docker pull (pull an image from a registry).
Resources
Video Links:
https://youtu.be/Gjnup-PuquQ
https://youtu.be/wi-MGFhrad0
https://youtu.be/a1M_thDTqmU
Textbooks:
1. Matthias, Karl, and Sean P. Kane. Docker: Up and Running. 2nd ed., O'Reilly Media, 2018.
2. Bullington-McGuire, Richard, Andrew K. Dennis, and Michael Schwartz. Docker for Developers: Develop and Run Your
Application with Docker Containers. 1st ed., Apress, 2019.
Reference Books:
3. Turnbull, James. The Docker Book: Containerization is the New Virtualization. 1st ed., James Turnbull, 2014.
4. Freeman, Emily. DevOps for Dummies. 1st ed., For Dummies (Wiley), 2019.
Web Links:
• Docker Documentation
• Docker Tutorial
10
THANK YOU
11