Для того чтобы запустить необходимый Вам контейнер, изначально, необходимо остановить предустановленный Apache2 на виртуальной машине для освобождения 80 и 443 порта:

systemctl stop apache2

1. Настройка репозитория

Обновляем перечень пакетов:

sudo apt update

Устанавливаем необходимые пакеты, которые позволяют apt использовать пакеты по HTTPS:

sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 

Добавляем официальный GPG ключ Docker-а в систему:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Добавляем репозиторий Docker в список источников пакетов APT:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

Обновляем базу данных пакетов информацией о пакетах Docker из вновь добавленного репозитория:

sudo apt update

2. Установка Docker

Устанавливаем Docker:

sudo apt install docker-ce

Docker установлен, а демон запущен. Процесс будет запускаться при загрузке системы. Убеждаемся что процесс запущен:

sudo systemctl status docker

Вывод должен быть похож на представленный ниже, в поле Вы должны увидеть Active: active (running):

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-04-03 06:47:09 EDT; 2min 29s ago
     Docs: https://docs.docker.com
 Main PID: 2861 (dockerd)
    Tasks: 10
   CGroup: /system.slice/docker.service
           └─2861 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3. Использование Docker

Проверяем, можете ли вы осуществлять доступ и загружать образы из Docker Hub, введите следующую команду:

docker run hello-world

Ожидаем загрузки образа из Docker Hub, который является репозиторием по умолчанию. После загрузки образа Docker создается из образа контейнер и запускает приложение в нем отобразив сообщение похожее на представленный ниже, это означает что Docker работает правильно:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest

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

Чтобы посмотреть загруженные на сервер образы нужно ввести:

docker images

Вывод должен быть похож на представленный ниже:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        15 months ago       1.84kB

Контейнер hello-world, является примером контейнера, который запускается и завершает работу после вывода тестового сообщения.

Ваш комментарий. Вики-синтаксис разрешён: