Docker is a platform that packages the application and all its dependencies in the container so that the application works seamlessly. The Container makes the application run its resource in an isolated process similar to the virtual machines, but it is more portable.
For a detailed introduction to the different components of a Docker container, you can check out Introduction to Docker, Docker Containers & Docker Hub. Also, don't forget to read about how to Install Jenkins on Ubuntu.
This tutorial covers the installation and use of Docker Community Edition (CE) on an Ubuntu 20.04 machine.
Pre-requisites
Audience
This tutorial is meant for those who are interested in learning Docker as a container service
System Requirements
- Ubuntu 20.04 64-bit operating system. (If Linux OS is not in system, we can run docker using Virtual Box, PFB the steps)
- A user account with sudo privileges
- An account on Docker Hub to pull or push an image from Hub.
Ubuntu Installation on Oracle Virtual Box
If you want to use Ubuntu 20.04 without making any change to the Windows Operating system, you can proceed with the Oracle Virtual box.
Virtual Box is free and open-source virtualization software from Oracle. It enables you to install other operating systems in virtual machines. It is recommended that the system should have at least 4GB of RAM to get decent performances from the virtual operating system.
Below are the steps for downloading Ubuntu 20.04 on Oracle Virtual box:
Navigate to the website of Oracle Virtual Box, download the .exe file and get the latest stable version.
1. Once done with downloading the virtual box, we can navigate to and download the Ubuntu disk image (.iso file) by clicking on the download option
2. Once the download has been completed for Ubuntu .iso file, open the virtual box and click on "New" present on top.
3. Enter the details of your virtual machine by giving any name, type as "Linux " and Version as Ubuntu (64 bit)
4. Choose the memory (RAM ) that needs to be allocated to the Virtual machine and click on Next. (I have chosen 3000 MB)
5. After the RAM allocation ,Click on Create a virtual disk now. This serves as the hard disk of the virtual Linux system. It is where the virtual system will store its files
6. Now, we want to select the Virtual Hard Disk.
7. We can choose either the “Dynamically allocated” or the “Fixed size” option for creating the virtual hard disk.
8. Finally, we have to specify our Ubuntu OS's size. The recommended size is 10 GB, but it can be increased if required.
8. Finally, we have to specify our Ubuntu OS's size. The recommended size is 10 GB, but it can be increased if required.
9. Ubuntu OS is ready to install in Virtual Box, but before starting the Virtual system, we need to a make few changes in settings. Click on storage under the setting.
10. Click on Empty under Controller IDE. Navigate to Attributes and browse the Optical Drive option.
11. Choose the .iso file from the location where it is downloaded. Once selected, click on OK and start the Virtual box by clicking on start present on the Top menu.
12. Click ok and start the machine.
13. Proceed with "Install Ubuntu"
14. Under "Updates and other software" section, check "Normal installation", and the two options under “Other options” and continue.
15. In Installation type, check Erase disk and install Ubuntu.
16. Choose your current location and set up your profile. Click Continue.
17. It may take 10-15 minutes to complete the installation
18. Once the installation finishes, restart the virtual system
We are done with pre-request, and can now proceed with using this Ubuntu.
Docker Installation Process on Ubuntu
Method 1: Install Docker on Ubuntu Using Default Repositories
One of the easiest ways is the installation of Docker from the standard Ubuntu 20.04 repositories, but It’s possible that the Ubuntu default repositories have not updated to the latest revision of Docker. It happens because in some cases Docker is not supporting that particular Ubuntu version. Therefore, there can be a scenario where Ubuntu default repositories have not updated to the latest version.
- Log in to Virtual Box. Run “docker” as command to check if it is previously installed.
- To install Docker on Ubuntu box, first update the packages. It will ask for a password. Enter it and allow the system to complete the updates.
sudo apt update
sudo apt install docker.io
docker --version
Since discussed above, it has installed the 19.03.8 version of docker whereas the latest version is 20.04 Method 2: Install Docker from Official Repository
For installing docker on ubuntu 20.04 with the latest version, we’ll proceed with enabling the Docker repository, importing the repository GPG key, and finally installing the package.
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
docker --version
sudo systemctl status docker
sudo systemctl start docker
sudo systemctl enable docker
To check system wide information regarding docker installation, we use the command “docker info”. Information that is shown includes the kernel version, number of containers and unique images.
The output will contain details as given below, depending upon the daemon running:
Source:
$ docker info
Client:
Context: default
Debug Mode: true
Server:
Containers: 14
Running: 3
Paused: 1
Stopped: 10
Images: 52
Server Version: 1.13.0
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: active
NodeID: rdjq45w1op418waxlairloqbm
Is Manager: true
ClusterID: te8kdyw33n36fqiz74bfjeixd
Managers: 1
Nodes: 2
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Number of Old Snapshots to Retain: 0
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Root Rotation In Progress: false
Node Address: 172.16.66.128 172.16.66.129
Manager Addresses:
172.16.66.128:2477
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 8517738ba4b82aff5662c97ca4627e7e4d03b531
runc version: ac031b5bf1cc92239461125f4c1ffb760522bbf2
init version: N/A (expected: v0.13.0)
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.4.0-31-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.937 GiB
Name: ubuntu
ID: H52R:7ZR6:EIIA:76JG:ORIY:BVKF:GSFU:HNPG:B5MK:APSC:SZ3Q:N326
Docker Root Dir: /var/lib/docker
Debug Mode: true
File Descriptors: 30
Goroutines: 123
System Time: 2016-11-12T17:24:37.955404361-08:00
EventsListeners: 0
Http Proxy: http://test:test@proxy.example.com:8080
Https Proxy: https://test:test@proxy.example.com:8080
No Proxy: localhost,127.0.0.1,docker-registry.somecorporation.com
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Labels:
storage=ssd
staging=true
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
http://192.168.1.2/
http://registry-mirror.example.com:5000/
Live Restore Enabled: false
Note: In case you get below error after running “docker info” command, one way is to add sudo in front and run the command, OR you can refer to the same error-resolving steps mentioned under Running Docker Images section.
Running Docker Images and Verifying the process:
To check whether you can access and download the images from Docker Hub, run the following command:
sudo docker run hello-world
In case of errors received after running the docker run command, you can correct it using the following steps, otherwise proceed with the next step of checking the image. ERROR: docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.
sudo groupadd docker
sudo usermod -aG docker $USER
Eg:- sudo usermod -aG docker kanav
newgrp docker
docker run hello-world
If the problem still continues, try to reboot it and run the command.
sudo docker images
Uninstall Procedure:
Below are the common commands used to remove images and containers:
sudo apt-get purge docker-ce docker-ce-cli containerd.io
To completely uninstall Docker, use below:
dpkg -l | grep -i docker
sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce
- To remove images, containers, volumes, or user created configuration files, these commands can be used:
- sudo rm -rf /var/lib/docker /etc/docker
- sudo rm /etc/apparmor.d/docker
- sudo groupdel docker
- sudo rm -rf /var/run/docker.sock
Conclusion:
If you found this Install Docker on Ubuntu blog relevant and useful, do check out the Docker-Training workshop from KnowledgeHut, where you can get equipped with all the basic and advanced concepts of Docker!