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
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
-
To install Docker from Ubuntu default repositories, use the below command:
sudo apt install docker.io
-
To check the installed version, use the below:
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.
-
To install the docker on Ubuntu box, update your existing list of packages. It will ask for a password. Enter it and allow the system to complete the updates.
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
Import the repository’s GPG key using the following curl command:
curl –fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
-
Add the Docker APT repository to the system
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
-
Again, update the package database with the Docker packages
sudo apt update
-
Finally, install Docker using below command:
sudo apt install docker-ce
-
To check the installed version use below:
docker --version
-
To start, enable and check the status of docker, use below command:
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:[email protected]:8080 Https Proxy: https://test:[email protected]: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’.
-
Create the docker group if it does not exist
sudo groupadd docker
-
Add your user to the docker group.
sudo usermod -aG docker $USER
Eg:- sudo usermod –aG docker kanav
-
Run the following command or Logout and login again and run ( if that doesn’t work you may need to reboot your machine first)
newgrp docker
-
Check if docker can be run without root
docker run hello-world
If the problem still continues, try to reboot it and run the command.
-
To check the image, use this 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:
-
To identify what are the installed packages, this is the command:
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!