7. Container vs VM
• Containers are more lightweight.
• No need to install guest OS.
• Less CPU, RAM, Storage needed.
• More containers per machine than VM.
• Greater Graterility.
8. What is Docker?
Docker is a platform for developing, shipping & running
application using container based virtualization
technology.
11. Docker Image
• A Docker image is a binary that includes all of the
requirements for running a single Docker container, as
well as metadata describing its needs and capabilities.
12. Docker File
• A Dockerfile is a text document that contains all the
commands a user could call on the command line to
assemble an image. Using docker build users can create
an automated build that executes several command-line
instructions in succession.
• Dockerfile is used for automation of work by specifying
all step that we want on docker image.
13. Docker Container
• Images are read only containers used to create
containers.
• Built by you or other Docker Users.
• Stored in docker hub or your local repository
14. Docker Engine
• Docker Engine is the program that enables containers
to build shipped & run.
• Docker Engine uses Linux Kernel namespace & control
group.
• Namespace gives us the isolated workspace.
15. Installing Docker & Running Hello World
Install docker with command
# curl -sSL https://get.docker.com/ | sh
Run the hello world container to test your installation
# sudo docker run hello-world
*Installation instruction areavailable at
https://docs.docker.com/engine/installation/
16. Registry & Repository
• Where we store our image is known as registry
• You can use your own registry or docker's public registry. Known
as Docker Hub
17. Docker Hub
• Docker hub is the public registry that contains large amount
of images available for your use.
• Official Repositories are available at
https://hub.docker.com/explore/
18. Intro to Images
1. Go to https://hub.docker.com/ and sign up for an account.
2. Find your confirmation email and active your account.
3. Explore images from docker hub.
4. Understanding official Images, Tags
5. Search images on docker hub.
19. Docker Orchestration
Three tools for orchestrating distributed applications with docker
• Docker Machine
Tool that provides Docker Hosts and install the Docker Engine on them.
• Docker Swarm
Tool that clusters many Engines and schedules containers.
• Docker Compose
Tool to create and manage multi-container application.
20. Benefits of using Docker
- Separation of Concerns
Life becomes easier for System admin
- Fast deployment cycle
- Application portability
Build in one environment, Ship anywhere.
- Scalability
Easy sign up new containers if needed.
- Run more apps on host machine
21. Docker Networking
• Containers can talk to each other without having to expose ports
to host.
• Essential for micro service application architecture.
• Example:
-Container with Tomcat running
-Container with MySQL running
-Application on tomcat needs to connect to MySQL
22. Quick Security Consideration
• Docker demon needs to run as root.
• Ensure that, only trusted can control Docker Demon.
• If binding the demon to a TCP socket, secure it with TLS
• Use linux hardening solutions
- SELinux
- GRSEC
23. Docker In Production
- Private Registry
- Docker Swarm
- Docker Cloud
- AWS ECS
- Apache Mesos
- Google Cloud
- DC/OS