0% found this document useful (0 votes)
18 views17 pages

Docker

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views17 pages

Docker

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

DOCKER

Speaker: VinhPH2
Why docker
● Problem in Software Development?
○ Install all the necessary dependencies
in our local machine.
○ Application project ready to be
deployed.
○ But, we had to install all the
dependencies in our local machine?
○ Consuming several hours in
configuring every single detail...
● Containerized applications was born.
History
Docker
● Docker is a tool
designed to make it
easier to create,
deploy, and run
applications by using
containers.
Docker
Docker Image
● A Docker container image is a lightweight,
standalone, executable package of software.
● Images become containers when run on
Docker Engine.
● All primary images are stored in a large
repository called Docker Hub.
Docker Hello World
● Install
○ $ sudo apt install docker.io
● Run image Hello World
○ $ docker run hello-world
Docker Image Command
● Pull image từ Docker Hub
○ $ docker pull <image>
○ Ex: $ docker pull nginx.
○ It downloads the latest official image from the docker hub.
● You can specify the tag (simply version) of the image.
○ $ docker pull <image:tag>
○ Ex: $ docker pull nginx:1.14.2
● List all the images in local machine.
○ $ docker image ls
Docker Container Command
● Run an instance of an image: Container.
○ $ docker container run --rm -p
<host_port>:<container_port> --name
<container_name> <image_name>
○ --rm: force remove after shutdown container.
○ -p: port forwarding.
○ We build images, we run containers
○ A container is just a process in your host machine.
Docker Container Command
● Detach container from foreground and put them in
background.
○ Add flag -d
○ Ex: $ docker container run --rm -d -p 80:80 --name
myNginx nginx
● List all the containers are running in local machine
○ $ docker container ls
Docker Container Command
● Docker run container with interactive mode, help to run
command inside a container
○ $ docker container exec -it <container> <command>
○ Ex: docker container exec -it myNginx bash
● There are some command to control the container.
○ $ docker container <action> <container_name>
○ Action can be restart, stop, start
● Remove container:
○ $ docker container rm -f <container_name>
Docker Storage
● By using Storage in Docker we can persist data or files
from the host system into our containers
● There are two techniques:
○ Bind Mounts: are used to storing files and directories into the
container.
■ Add flag -v <path in host>:<path in container>
■ Ex : $ docker container run --rm -p 80:80 --name
myNginx -v $(pwd)/html:/usr/share/nginx/html nginx
○ Volumes: are used to persist data. You will use them for your
Databases.
Docker Networking
● If you want to connect two or more containers, so that they can
communicate with each other, they have to share the same
network.
● Create network.
○ $ docker network create <network name>
○ Ex: $ docker network create my-network
● Link container to network
○ Add flag --network <network name>
○ Ex: $ docker container run -d --rm --network my-network --name
myNginx nginx
Dockerfiles
● Write Dockerfile to custom image.
● Command in Dockerfile.
Dockerfiles
● Build Dockerfile to Image
○ $ docker build -t <name image> <path dockerfile>
○ Ex: $ docker build -t custom-Nginx .
Next step
● Docker compose.
● Docker Swarm.
● Kubernetes.
THANK YOU!

You might also like