2. What do I need to know to learn Docker?
● At Least know to use the command line usage and tools
3. What is Docker?
● Docker is an open-source software
platform for building container based
applications ( started in 2013 )
● It carves up a computer into sealed
containers that run your code.
● Containers are small and lightweight
execution environments that make
shared use of the operating system
kernel but otherwise run in isolation
from one another
4. Docker in a nutshell
Computer
You Interact with a client-program
name docker cli
Docker needs a Linux server to manage - so we run linux serve in a virtual machine
Server-program - docker host
Interact with a
server-program
name docker host Linux Virtual Machine
Docker Desktop
For Mac For Windows
Docker build
Docker pull
5. More about Docker
● Docker is a client-program that you
run from the terminal
● Docker is also a server program that
manages the linux system
● Its a program that takes your code
bundles it up and seals into a
container.
● Docker is also a service that
distributes containers so people can
share their work.
6. Why Docker?
● Developing apps today can require multiple languages,
frameworks, architectures.
● Docker simplifies and accelerates your workflow.
● It gives developers the freedom to innovate with their choice
of tools, application stacks, and deployment environments for
each project
7. Why Docker?
● Simplicity - Docker’s friendly, CLI-based workflow makes
building, sharing, and running containerized applications
accessible to developers of all skill levels.
● Agile - Install from a single package to get up and
running in minutes. Code and test locally while ensuring
consistency between development and production.
● Collaborate -Use Certified and community-provided
images in your project. Push to a cloud-based
application registry and collaborate with team members.
10. Docker Flow
Image
A file that makes up just enough
OS that you need
Running
Container
A container is an image that has
process running in it
Docker run
Stopped
Container
A container that has the process
stopped running.
New Image
Docker commit
New image created
from the exited container
Creates a new container
Docker
kill
11. What is Docker Container?
● A self-contained sealed unit of
software
● Contains everything needed to run the
service.
● It bundles together all the code,
config, processes, networking,
dependencies and just enough
operating system to run your code.
Containers and virtual machines have similar resource isolation and allocation benefits, but function differently because containers virtualize the operating system instead of hardware. Containers are more portable and efficient.VM runs their own OS while container share the Kernel of the host system.
As a VM is running a full OS, it will need more resources in terms of hardware and the
boot time will be slower than a docker container.
As you can see in the picture, the Docker is running directly on the host operating system and
the container of our APP is directly running on Docker container.
But in case of VM, there's a full Operating System running on the top of the hypervisor.
And as mentioned before a Operating System is more resource hungry.