В контейнерах возможно запускать приложения с изолированными от общей системы ресурсами. Docker очень похож на виртуальную машину типа VirtualBox, но на много портативнее и расходует эффективнее ресурсы.
Перед установкой Docker необходимо обновить пакеты ОС.
apt update
Устанавливаем нужные пакеты, и добавляем новый репозиторий:
apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Обновим пакеты с новым репозиторием:
apt update
Теперь установим сам Docker.
apt-get install docker-ce docker-ce-cli containerd.io
Проверим версию Docker:
docker --version
Проверим статус Docker:
systemctl status docker
Если он не запустился, то запускаем:
systemctl start docker
И добавляем в автозапуск.
systemctl enable docker
Для того чтобы проверить в реальных условиях, можно ли получить доступ из Docker Hub`a и загрузить тестовый контейнер, выполните следующую команду:
docker run hello-world
Если Docker работает верно, Вы сможете наблюдать данный вывод:
Команда docker по умолчанию запускается только от пользователя root, или же от пользователя из группы docker (группа создаеться автоматически при установки docker).
По этому, если Вы запустите команду docker без прав суперпользователя (root), получите ошибку.
Для того чтобы не использовать каждый раз приставку sudo добавим имя пользователя, из которого мы "сидим" группу docker.
sudo usermod -aG docker ${USER}
Применяем добавленное правило без перезагрузки сервера:
su - ${USER}
Введите пароль от имени пользователя в котором работаете.
Проверяем, добавлен ли Ваш пользователь в группу docker:
id -nG
Теперь можем вводить команду docker без прав root.
Чтобы просмотреть все активные/запушенные контейнеры, воспользуйтесь следующей командной:
docker ps
Как видим, ни один контейнер не запущен. Но мы только что скачали и запустили тестовый контейнер hello-word! Данный контейнер уже не запущен, но все таки присутствует в нашей системе.
Для того чтобы его увидеть, воспользуемся следующей командной:
docker ps -a
Как видим наш контейнер hello-word загружен, но не запушен.
И так, в этой статье мы рассмотрели, как просто можно установить Docker и запустили тестовый контейнер.
Как устанавливать нужные Вам сервисы, в Docker контейнерах, Вы можете узнать из следующих статей.