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

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

В этом руководстве мы расскажем, как установить Docker на компьютер с Ubuntu 18.04, и изучим основные концепции и команды Docker.

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo . Все команды в этом руководстве следует запускать от имени пользователя без полномочий root.

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

Хотя установочный пакет Docker доступен в официальном репозитории Ubuntu 18.04, он не всегда может быть последней версией. Рекомендуемый подход — установить последний пакет Docker из репозиториев Docker.

Включение репозитория Docker

  1. Начните с обновления списка пакетов и установки зависимостей, необходимых для добавления нового репозитория через HTTPS:

     sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  2. Импортируйте GPG-ключ репозитория с помощью следующей команды curl :

     curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  3. Добавьте репозиторий Docker APT в вашу систему:

     sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Установка Docker CE

Теперь, когда репозиторий Docker включен, вы можете установить любую нужную вам версию Docker.

  1. Чтобы установить последнюю версию Docker, используйте команду ниже. Если вы хотите установить определенную версию Docker, пропустите этот шаг и перейдите к следующему.

     sudo apt update sudo apt install docker-ce
  2. Чтобы установить определенную версию, сначала укажите доступные версии в репозитории Docker:

     apt list -a docker-ce

    Команда выводит доступные версии Docker во втором столбце.

     docker-ce/bionic 5:18.09.7~3-0~ubuntu-bionic amd64 docker-ce/bionic 5:18.09.6~3-0~ubuntu-bionic amd64 docker-ce/bionic 5:18.09.5~3-0~ubuntu-bionic amd64

    Например, чтобы установить версию 18.09.6 , введите:

     sudo apt install docker-ce=5:18.09.6~3-0~ubuntu-bionic

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

     sudo apt-mark hold docker-ce

После завершения установки служба Docker запустится автоматически. Вы можете проверить это, набрав:

sudo systemctl status docker

Результат будет выглядеть примерно так:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor p
   Active: active (running) since Tue 2019-07-02 11:28:40 UTC; 15min ago
     Docs: https://docs.docker.com
 Main PID: 11911 (dockerd)
    Tasks: 10
   CGroup: /system.slice/docker.service

Выполнение команды docker без sudo

По умолчанию для запуска команд Docker требуются права администратора.

Чтобы запускать команды Docker от имени пользователя без полномочий root без добавления sudo вам необходимо добавить своего пользователя в группу docker . Эта группа создается при установке пакета Docker CE. Для этого выполните следующую команду:

sudo usermod -aG docker $USER

$USER — это переменная среды, в которой хранится ваше имя пользователя.

Выйдите из системы и войдите снова, чтобы обновить членство в группе.

Чтобы убедиться, что Docker успешно установлен и вы можете запускать команды docker без добавления sudo , запустите:

docker container run hello-world

Команда загрузит тестовое изображение, запустит его в контейнере, напечатает сообщение «Hello from Docker» и выйдет. Результат должен выглядеть следующим образом:

Обновление Docker

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

sudo apt updatesudo apt upgrade

Удаление Docker

Перед удалением Docker удалите все контейнеры, образы, тома и сети .

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

sudo apt purge docker-cesudo apt autoremove

Интерфейс командной строки Docker

Команда Docker CLI принимает такую форму:

docker [option] [subcommand] [arguments]

Чтобы вывести список всех доступных команд, введите docker без параметров:

docker

Если вам нужна дополнительная помощь по какой-либо [subcommand] , вы можете использовать переключатель --help как показано ниже:

docker [subcommand] --help

Образы Docker

Образ Docker состоит из ряда слоев файловой системы, представляющих инструкции в файле Dockerfile образа, который составляет исполняемое программное приложение. Изображение — это неизменяемый двоичный файл, включающий приложение и все другие зависимости, такие как библиотеки, двоичные файлы и инструкции, необходимые для запуска приложения.

Вы можете думать об образе Docker как о снимке контейнера Docker.

Большинство образов Docker доступны в Docker Hub. Docker Hub — это облачная служба реестра, которая, среди прочего, используется для хранения образов Docker в общедоступных или частных репозиториях.

Искать в Docker Image

Чтобы найти изображение в реестре Docker Hub, используйте подкоманду search .

Например, чтобы найти образ Ubuntu, вы должны ввести:

docker search ubuntu

Результат должен выглядеть так:

Как видите, поиск выводит таблицу с пятью столбцами: NAME , DESCRIPTION , STARS , OFFICIAL и AUTOMATED .

Официальный образ — это образ, который Docker разрабатывает совместно с партнерами по разработке.

Большинство образов Docker в Docker Hub помечены номерами версий. Если тег не указан, Docker выберет последний из них.

Скачать образ Docker

Например, чтобы загрузить последнюю официальную сборку образа Ubuntu 18.04, вы должны использовать следующую команду image pull :

docker image pull ubuntu

В зависимости от скорости вашего Интернета загрузка может занять несколько секунд или минут.

Если не указать тег, Docker извлекает последний образ Ubuntu, который на момент написания этой статьи был 18.04.

Если вы хотите загрузить предыдущую версию Ubuntu , скажем, Ubuntu 16.04, вам нужно использовать docker image pull ubuntu:16.04 .

Чтобы перечислить все загруженные изображения, введите:

docker image ls

Результат будет выглядеть примерно так:

Удалить образ Docker

Если по каким-то причинам вы хотите удалить изображение, вы можете сделать это с помощью подкоманды image rm [image_name] :

docker image rm ubuntu

Контейнеры Docker

Экземпляр изображения называется контейнером. Контейнер представляет среду выполнения для отдельного приложения, процесса или службы.

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

Мы можем запускать, останавливать, удалять и управлять контейнером с помощью подкоманды docker container .

Запустить контейнер Docker

Следующая команда запустит контейнер Docker на основе образа Ubuntu. Если у вас нет образа локально, он сначала загрузит его:

docker container run ubuntu

На первый взгляд вам может показаться, что вообще ничего не произошло. Что ж, это неправда. Контейнер Ubuntu останавливается сразу после загрузки, потому что у него нет длительного процесса, и мы не предоставили никакой команды. Контейнер загрузился, выполнил пустую команду и завершил работу.

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

docker container run -it ubuntu /bin/bash
[root@719ef9304412 /]#

Как видно из выходных данных выше, после запуска контейнера командная строка изменяется. Это означает, что теперь вы работаете изнутри контейнера .

Список контейнеров Docker

Чтобы вывести список активных контейнеров, введите:

docker container ls

Если у вас нет запущенных контейнеров, вывод будет пустым.

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

docker container ls -a

Удалить контейнеры Docker

Чтобы удалить один или несколько контейнеров, скопируйте идентификатор контейнера (или идентификаторы) и вставьте их после подкоманды container rm :

docker container rm c55680af670c

Выводы

Вы узнали, как установить Docker на свой компьютер с Ubuntu 18.04 и как загружать образы Docker и управлять контейнерами Docker. Вы также можете прочитать о Docker Compose , который позволяет вам определять и запускать многоконтейнерные приложения Docker.

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

Если у вас есть вопросы, оставьте комментарий ниже.

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