Docker Basics

From ppwiki
Revision as of 23:58, 3 January 2020 by Admin (talk | contribs) (→‎References)
Jump to navigation Jump to search

Prerequisites

For the purpose of this tutorial, I am using a virtual machine running on EXSI 5.5 host. The VM has 2GB of memory, 1 CPU and 60GB of disk. I named the VM Docker2001.The VM is in a DHCP and DNS environment with a docker2001.dfw.ppnet as the FQDN. If you have a bare metal, you can use that also. The VM has Debian Stretch installed on it.

Installation

Login to your server, create a file called docker_install.sh. Copy and paste the script below into the file.

#!/bin/bash
sudo apt-get -y install curl
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo apt-get -y install software-properties-common
sudo apt-get -y install apt-transport-https
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update
apt-cache policy docker-ce
sudo apt-get install -y docker-ce

Save the file and make the file executable and run the script.

sudo chmod +X docker_install.sh
sudo ./docker_install.sh

Check the installation by checking the docker version

ppaul@docker2001:~$ sudo docker --version
Docker version 18.06.1-ce, build e68fc7a

Working with images

The first command we are going to us, is the command to list all our images.

ppaul@docker2001:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED  

We can see that for now we have no images.

Download images

The command to download an images is

docker pull "name_of_images 

We are going to download the basic Nginx image

sudo docker pull nginx:latest
ppaul@docker2001:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              f7bb5701a33c        6 days ago          126MB

Now we can see that we have an image.

working with containers

In this section, we are going to create run a container with the Nginx image we download in the previous section. the command to create and run a container is;

docker run --name "name_you_want" -d  -p "host_port":"container_port" "image_name"
  • Example
docker run --name test_Nginx -d -p 80:80 nginx
  • Explanation

The command above will create a container with the name test_Nginx, which will run as a daemon and the port 80 of the host will be mapped to the port 80 of the container. The -d option can be removed if wanted.

Basic containers commands

  • List all running container
ppaul@docker2001:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
08dad63189e1        nginx               "nginx -g 'daemon of…"   3 minutes ago       Up 3 minutes        0.0.0.0:80->80/tcp   test_Nginx
  • List all container
ppaul@docker2001:~$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
08dad63189e1        nginx               "nginx -g 'daemon of…"   4 minutes ago       Up 4 minutes        0.0.0.0:80->80/tcp   test_Nginx
  • Delete a container
ppaul@docker2001:~$ sudo docker rm 08dad63189e1

References

https://hub.docker.com/

Conclusion