Docker Deep Dive
The slides
will explore
-
What is docker
-
How to use docker
-
Where to find base image
-
Docker basic command
-
Docker registry
What is docker?
Subtitle
PACKAGE YOUR APPLICATION INTO A STANDARDIZED UNIT FOR SOFTWARE DEVELOPMENT
This guarantees that the software will always run the same, regardless of its environment.
Benefit?
DOCKER ELIMINATE ENVIRONMENT INCONSISTENCIES
How to use docker ?
What are the requirement?
Thats it..
Where to find the base image..
https://hub.docker.com
https://store.docker.com
The image often come with documentation
Dockerfile
Dockerfile enable you to modify the base image
Example of dockerfile
#----------Get image from kartoza/geoserver----------
FROM kartoza/geoserver
#----------Copy and add resource folder to the path of tomcat----------ADD resources /usr/local/tomcat/webapps/ROOT/
Docker build
step to build an image
- Change to the dockerfile directory
- docker build -t image_name .
- docker build -t gds/geoserver .
Docker basic command
Lets take a look
Docker basic command
Command | Description |
---|---|
Docker ps | see all running container |
Docker ps -a | See all container |
Docker images | see all available image |
Docker diff container_name | See changes from initial run |
Docker run command
Command | Example |
---|---|
docker run --name "container_name" -d --restart=always -p host_port:container_port -t image_name | docker run --name “postgis” -d --restart=always -p 5432:5432 -t gds/postgis |
Docker commit changes
Command | Example |
---|---|
docker commit container_name repository:tag | docker commit geoserver gds/geoserver:version1 |
Docker ssh and run bash on container
Command | Example |
---|---|
sudo docker exec -i -t container_name /bin/bash | sudo docker exec -i -t geoserver /bin/bash |
Docker remove container
Command | Description |
---|---|
docker rm -f container_name | To force remove running container |
docker rm container_name | remove container that are not running |
Docker remove images
Command | Example |
---|---|
docker rmi image_name | docker rmi gds/geoserver |
Docker Registry
The Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images. The Registry is open-source, under the permissive Apache license.
For easy understanding
Docker registry is almost similar to gitlab
Why use it
You should use the Registry if you want to:
- tightly control where your images are being stored
- fully own your images distribution pipeline
- integrate image storage and distribution tightly into your in-house development workflow
Since the registry need a SSL and we dont have it, so there is a workaround and some configuration need to be done in order to make it work.
Docker push an image
- docker tag image_name ip_address:5000/new_name
- docker push ip_address:5000/new_name
- ssh quraisyah@192.168.0.9
- [password:password]
- docker pull ip_address:5000/new_name
- docker images
- exit
Thanks
Docker
By Syafiq bin abdul rahman
Docker
- 397