четверг, 17 сентября 2020 г.

Установка и использование Docker в Ubuntu 20.04

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

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

Установка 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, используя следующую команду.
$ 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) или username в группу docker:
$ sudo usermod -aG docker $USER
или
$ 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
или
$ 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


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

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


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


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


Чтобы остановить работающий контейнер по его идентификатору, используйте команду stop, как показано ниже.
$ 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, как показано ниже.
# 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.

Комментариев нет:

Отправить комментарий