Поиск по сайту:

Как установить и использовать Docker в Ubuntu 20.04


Docker – это самая популярная платформа с открытым исходным кодом, позволяющая разработчикам и системным администраторам создавать, запускать и совместно использовать приложения с помощью контейнеров. Контейнеризация (использование контейнеров для развертывания приложений) становится популярной, поскольку контейнеры гибкие, легкие, портативные, слабосвязанные, масштабируемые и более безопасные.

Эта статья — хорошая отправная точка для новичков, которые узнают, как установить и использовать Docker в системе Ubuntu 20.04 Linux с помощью некоторых основных команд. Для этого руководства мы установим Docker Community Edition (CE).

Предпосылки:

  • Установка сервера Ubuntu 20.04.
  • Пользователь с правами на запуск команды sudo.

Установка Docker в Ubuntu 20.04

Чтобы использовать последнюю версию Docker, мы установим ее из официального репозитория Docker. Итак, начните с добавления ключа GPG для официального репозитория Docker в вашу систему, после этого добавьте конфигурацию репозитория в исходный код APT с помощью следующие команды.

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 focal stable"

Теперь обновите кеш пакетов APT, чтобы включить в систему новые пакеты Docker, используя следующую команду.

sudo apt update

Затем установите пакет Docker, как показано.

sudo apt install docker-ce

В процессе установки пакета Docker установщик пакета запускает systemd (менеджер системы и служб) для автоматического запуска и включения службы Docker. Используйте следующие команды, чтобы подтвердить, что служба Docker активна и может автоматически запускаться при запуске системы. Также проверьте его статус:

sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker

Существует несколько других команд systemctl для управления службой Docker, которые включают в себя следующее:

sudo systemctl stop docker			#stop the docker service
sudo systemctl start docker			#start the docker service
sudo systemctl  restart docker		#restart the docker service

Чтобы проверить версию Docker CE, установленную в вашей системе, выполните следующую команду:

docker version

Вы можете просмотреть доступные команды использования Docker, запустив команду Docker без каких-либо параметров или аргументов:

 
docker

Управляйте Docker от имени пользователя без полномочий root с помощью команды sudo

По умолчанию демон Docker привязывается к сокету UNIX (вместо порта TCP), который принадлежит пользователю root. Поэтому демон Docker всегда запускается от имени пользователя root, и для запуска команды docker вам необходимо использовать sudo.

Кроме того, во время установки пакета Docker создается группа под названием docker. При запуске демон Docker создает сокет UNIX, доступный членам группы docker (которая предоставляет привилегии, эквивалентные привилегиям пользователя root).

Чтобы запустить команду docker без sudo, добавьте всех пользователей без полномочий root, которые должны иметь доступ к docker, в группу docker следующим образом. В этом примере команда добавляет текущего пользователя ($USER) или имя пользователя в группу Docker:

sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username

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

newgrp docker 
groups

Затем убедитесь, что вы можете запускать команды docker без sudo. Следующая команда загружает тестовый образ и запускает его в контейнере. Как только контейнер запускается, он печатает информационное сообщение и завершает работу. Это еще один способ проверить, работает ли ваша установка нормально.

docker run hello-world

Работа с образами Docker

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

Вы можете найти образ centos в Docker Hub с помощью следующей команды:

docker search centos 

Чтобы загрузить изображение локально, используйте команду pull. В этом примере показано, как загрузить официальный образ centos.

docker pull centos

После завершения загрузки вы можете просмотреть список доступных изображений в вашей локальной системе.

docker images

Если изображение вам больше не нужно, вы можете удалить его из своей системы.

docker rmi centos
OR
docker rmi centos:latest    #where latest is the tag

Запуск и управление Docker-контейнерами

Контейнер Docker – это процесс, который работает в Linux и использует ядро хост-компьютера совместно с другими контейнерами. Что касается образа Docker, то контейнер — это просто работающий образ.

Чтобы запустить контейнер на основе вашего нового образа centos, выполните следующую команду, где “centos ” — имя локального образа и «cat /etc/centos-release ” — это команда, запускаемая в контейнере:

docker run centos cat /etc/centos-release

Контейнер запускает дискретный процесс, изолированный тем, что у него есть собственная файловая система, сеть и изолированное дерево процессов, отдельное от хоста. Обратите внимание, что вы можете манипулировать контейнером, используя его ID, префикс идентификатора или имя, как показано ниже. Вышеупомянутый процесс контейнера завершается после выполнения команды.

Чтобы просмотреть контейнеры Docker, используйте команду docker ps следующим образом. Используйте флаг -l, чтобы показать последний созданный контейнер во всех состояниях:

docker ps
OR
docker ps -l

Чтобы отобразить все контейнеры, включая вышедшие, используйте флаг -a.

docker ps -a

Вы также можете запустить контейнер, используя его идентификатор после его выхода. Например, в предыдущей команде идентификатор нашего контейнера — 94c35e616b91. Мы можем запустить контейнер, как показано (обратите внимание, что он выполнит команду и завершит работу):

docker start 94c35e616b91

Чтобы остановить работающий контейнер, используя его идентификатор, используйте команду остановки, как показано.

docker stop 94c35e616b91

Docker также позволяет присваивать имя контейнеру с помощью параметра --name при его запуске.

docker run --name my_test centos cat /etc/centos-release
docker ps -l

Теперь вы можете использовать имя контейнера для управления (запуск, остановка, статистика, удаление и т. д.) контейнером:

docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test

Запуск интерактивного сеанса в Docker-контейнере

Чтобы запустить интерактивный сеанс оболочки в контейнере и позволить вам выполнять команды внутри контейнера, выполните следующую команду:

docker run --name my_test -it centos

В приведенной выше команде переключатели -it сообщают Docker о выделении псевдо-TTY, подключенном к стандартному вводу контейнера, таким образом создавая интерактивную оболочку bash в контейнере.

Вы можете выйти, введя команду выхода, как показано.

exit

Если вы предпочитаете не выходить, вы можете отсоединиться от контейнера и оставить его работающим. Для этого используйте последовательность клавиш CTRL+p, затем CTRL+q.

Вы можете подключиться обратно к контейнеру с помощью команды attach, которая прикрепит локальные стандартные потоки ввода, вывода и ошибок к работающему контейнеру:

docker attach my_test

Кроме того, вы можете запустить контейнер в автономном режиме, используя флаг -d. Затем используйте команду attach, чтобы прикрепить стандартные потоки ввода, вывода и ошибок вашего терминала к работающему контейнеру:

docker run --name my_test -d -it centos
docker attach my_test

И последнее, но не менее важное: вы можете остановить работающий контейнер из сеанса хоста, выполнив следующую команду:

docker kill my_test

Вот и все! В этом руководстве мы рассмотрели, как установить и использовать Docker CE в Ubuntu 20.04 Linux. Если у вас есть какие-либо вопросы, воспользуйтесь формой обратной связи ниже, чтобы задать их нам.