Docker is a free and open-source containerization platform that allows developers to package applications into containers. Docker uses OS-level virtualization to deliver software in packages called containers. It allows you to create, build, and run lightweight, portable application images for any platform.

Docker Compose is a free and open-source tool that helps you define and share multi-container applications in a single YAML file. With Docker Compose, you can run and connect multiple containers as a single service.

This post will show you how to install Docker and Docker Compose in Oracle Linux 8.

Step 1 – Update Oracle Linux Server

Note: It is recommended that your Oracle Linux 8 server has at least 4GB RAM.

Connect to your Cloud Server via SSH and log in using the credentials highlighted at the top of the page.

Once you are logged in to your server, run the following command to update your base system with the latest available packages.

dnf update -y

Step 2 – Install Docker CE (Community Edition)

By default, the latest version of the Docker package is not included in the Oracle Linux default repository, so you will need to create a Docker CE repo.

You can create it using the following command:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Next, run the following command to install Docker CE on your server.

dnf install docker-ce -y

After the installation, start the Docker service and enable it to start at system reboot.

systemctl start docker
systemctl enable docker

Next, verify the running status of the Docker service using the following command:

systemctl status docker

Sample output:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-04-30 08:35:46 EDT; 6s ago
     Docs: https://docs.docker.com
 Main PID: 8554 (dockerd)
    Tasks: 8
   Memory: 31.7M
   CGroup: /system.slice/docker.service
           └─8554 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Apr 30 08:35:45 oraclelinux dockerd[8554]: time="2022-04-30T08:35:45.932297676-04:00" level=error msg="Failed to built-in GetDriver graph btr>
Apr 30 08:35:46 oraclelinux dockerd[8554]: time="2022-04-30T08:35:46.249687493-04:00" level=warning msg="Your kernel does not support cgroup >
Apr 30 08:35:46 oraclelinux dockerd[8554]: time="2022-04-30T08:35:46.249732672-04:00" level=warning msg="Your kernel does not support cgroup >
Apr 30 08:35:46 oraclelinux dockerd[8554]: time="2022-04-30T08:35:46.249960144-04:00" level=info msg="Loading containers: start."
Apr 30 08:35:46 oraclelinux dockerd[8554]: time="2022-04-30T08:35:46.682620546-04:00" level=info msg="Default bridge (docker0) is assigned wi>
Apr 30 08:35:46 oraclelinux dockerd[8554]: time="2022-04-30T08:35:46.861304346-04:00" level=info msg="Loading containers: done."
Apr 30 08:35:46 oraclelinux dockerd[8554]: time="2022-04-30T08:35:46.884014323-04:00" level=info msg="Docker daemon" commit=87a90dc graphdriv>
Apr 30 08:35:46 oraclelinux dockerd[8554]: time="2022-04-30T08:35:46.884186171-04:00" level=info msg="Daemon has completed initialization"
Apr 30 08:35:46 oraclelinux systemd[1]: Started Docker Application Container Engine.
Apr 30 08:35:46 oraclelinux dockerd[8554]: time="2022-04-30T08:35:46.934543023-04:00" level=info msg="API listen on /var/run/docker.sock"

You can also verify the Docker version with additional information using the following command:

docker info

You will get the following output:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.1-docker)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.14
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:

Step 3 – Verify Docker Installation

At this point, Docker is installed and running. Now it’s time to test whether it’s working or not.

You can download and run Docker’s hello-world container to test Docker.

docker run hello-world

This will download and run the hello-world Docker container on your system:

latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:10d7d58d5ebd2a652f4d93fdd86da8f265f5318c6a73cc5b6a9798ff6d2b2e67
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

You can use the “docker images” command to verify the downloaded image:

docker images

You will get the following output:

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   7 months ago   13.3kB

Step 4 – Install Docker Compose

By default, the latest Docker Compose version is unavailable in the Oracle Linux default repository, so you will need to download it from the Git Hub repository.

First, install the curl command utility with the following command:

dnf install -y curl

Next, download the latest version of Docker Compose using the following command:

curl -L https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

Next, set executable permission on the Docker Compose binary:

chmod +x /usr/local/bin/docker-compose

Next, verify the Docker Compose version using the following command:

docker-compose --version

You will get the following output:

Docker Compose version v2.21.0

Also Read

How to Manage Docker Container with Rancher

Step 5 – Remove Docker and Docker Compose

If you want to remove the Docker package from your system, you will need to stop the Docker service first:

systemctl stop docker

Next, remove the Docker package using the following command:

dnf remove docker-ce -y

To remove Docker Compose, delete the Docker Compose binary using the following command:

rm -rf /usr/local/bin/docker-compose

Conclusion

You learned how to install Docker and Docker Compose on Oracle Linux 8 in this guide. You can now install both on your development environment and deploy an application in the Docker environment. Give it a try on your dedicated server from Atlantic.Net!