Блог компании 3v-Hosting

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

Администрирование

9 мин.


Docker install on Ubuntu

 

Docker стал универсальным инструментом для разработчиков и системных администраторов, позволяющим создавать и развертывать приложения в изолированных контейнерах. Эта статья проведет вас через процесс установки и использования Docker в Ubuntu 22.04 сервере, предоставляя полное понимание как новичкам, так и опытным пользователям.

 

 

Базовая информация о Docker

 

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

 

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

 

 

Предварительные условия

 

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

     Ubuntu 22.04 (Jammy Jellyfish): проверьте свою версию Ubuntu, запустив lsb_release -a в своем терминале. Если вы используете другую версию, обратитесь к официальной документации Docker за конкретными инструкциями.
     Административные привилегии. Для процесса установки требуется административный доступ (sudo). Для продолжения используйте учетную запись пользователя с привилегиями sudo.

 

 


Установка Docker Engine

 

Существует два основных способа установки Docker в Ubuntu 22.04:

 

Способ 1: использование официальных репозиториев Docker

 

     Обновите списки пакетов: Начните с обновления списков пакетов:


         sudo apt update

    

     Добавить ключ Docker GPG: Импортируйте ключ Docker GPG, чтобы проверить подлинность пакетов во время установки:


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

 

     Добавить репозиторий Docker: добавьте официальный репозиторий Docker для вашей версии Ubuntu в список источников вашей системы:


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

 

     Обновить списки пакетов (снова): обновите списки пакетов, чтобы отразить недавно добавленный репозиторий:


         sudo apt update

    

     Установите Docker Engine, Containerd и Docker Compose (необязательно): Установите основные компоненты Docker Engine вместе сContainerd (среда выполнения) и, при необходимости, Docker Compose (для управления многоконтейнерными приложениями):


         sudo apt install docker-ce docker-ce-cli containerd docker-compose -y

 

 

Способ 2: загрузка пакетов DEB (альтернативный вариант)


Загрузите пакеты DEB: Посетите официальную страницу загрузки Docker (https://docs.docker.com/get-docker/) и загрузите соответствующие пакеты DEB для вашей архитектуры (например, amd64).

Установите загруженные пакеты: Используйте dpkg для установки загруженных пакетов DEB:


     sudo dpkg -i docker-desktop-<version>.deb libcontainerd-<version>.deb containerd.io-<version>.deb

 

Установите зависимости (при необходимости): Решите любые проблемы с зависимостями, которые могут возникнуть во время установки:


     sudo apt install -f

 

 

 


Проверка установки Docker

 

После завершения установки проверьте, правильно ли работает Docker:


     sudo systemctl status docker
     

В случае успешной установки служба Docker должна отображаться как активная (работающая).

 

 

 

Начало работы с Docker


Базовый синтаксис работы с Docker выглядит так:

    docker [option] [command] [arguments]
    

Чтобы посмотреть перечень всех возможных команды нужно всего лишь набрать в консоли команду docker без параметров и вы должны увидеть такой список:

    Output
      attach      Attach local standard input, output, and error streams to a running container
      build       Build an image from a Dockerfile
      commit      Create a new image from a container's changes
      cp          Copy files/folders between a container and the local filesystem
      create      Create a new container
      diff        Inspect changes to files or directories on a container's filesystem
      events      Get real time events from the server
      exec        Run a command in a running container
      export      Export a container's filesystem as a tar archive
      history     Show the history of an image
      images      List images
      import      Import the contents from a tarball to create a filesystem image
      info        Display system-wide information
      inspect     Return low-level information on Docker objects
      kill        Kill one or more running containers
      load        Load an image from a tar archive or STDIN
      login       Log in to a Docker registry
      logout      Log out from a Docker registry
      logs        Fetch the logs of a container
      pause       Pause all processes within one or more containers
      port        List port mappings or a specific mapping for the container
      ps          List containers
      pull        Pull an image or a repository from a registry
      push        Push an image or a repository to a registry
      rename      Rename a container
      restart     Restart one or more containers
      rm          Remove one or more containers
      rmi         Remove one or more images
      run         Run a command in a new container
      save        Save one or more images to a tar archive (streamed to STDOUT by default)
      search      Search the Docker Hub for images
      start       Start one or more stopped containers
      stats       Display a live stream of container(s) resource usage statistics
      stop        Stop one or more running containers
      tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
      top         Display the running processes of a container
      unpause     Unpause all processes within one or more containers
      update      Update configuration of one or more containers
      version     Show the Docker version information
      wait        Block until one or more containers stop, then print their exit codes

 

 

Итак, теперь, когда Docker установлен, давайте рассмотрим некоторые основные команды:

 

1. Привет, мир! Запустите свой первый контейнер Docker:


     docker run hello-world

 

Эта команда извлекает и выполняет официальный образ «hello-world», выводя на консоль простое сообщение.

 

 

2. Перечень образов: просмотрите доступные образы Docker в вашей системе:


     docker images

 

 

3. Загрузка образов. Загрузите новый образ Docker из реестра Docker Hub:


     docker pull ubuntu:latest

 

Это приведет к использованию последней версии официального образа Ubuntu.

 

 

4. Запуск контейнеров: Запустите контейнер на основе скачанного образа:


     docker run -it ubuntu:latest bash

 

Флаг -it предоставляет интерактивный терминал внутри контейнера. Введите exit, чтобы выйти из контейнера.

 

 

5. Просмотр запущенных контейнеров:


     docker ps

 

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

 

 

6. Остановка и удаление контейнеров:

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

         docker stop <container_id>

 

    Удалить остановленный контейнер:

         docker rm <container_id>

 

 

7. Управление журналами контейнеров:


     docker logs <container_id>

 

Здесь отображаются логи, созданные контейнером.

 

 

8. Работа с томами:

Тома обеспечивают постоянное хранение данных в контейнерах. Это аналог жесткого диска, на котором данные, записанные на том, сохраняются даже после остановки или удаления контейнера. Вот пример:


     docker run -v my-data-volume:/data ubuntu:latest bash

 

При этом создается том с именем «my-data-volume» и монтируется в каталог «/data» внутри контейнера. Любые изменения, внесенные в каталог «/data», сохраняются внутри тома.

 

 

9. Docker Hub и обмен образами:

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

 

 

 


Docker для разработчиков и системных администраторов

 

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

 

Для разработчиков:

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

 

Для системных администраторов:

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

 

 


Углубленное изучение Docker

 

В этой статье представлены лишь базовые сведения о Docker в Ubuntu 22.04, о его установке и простейшем использовании. Но по мере того, как вы будете пользоваться докером у вас будут возникать новые вопросы, перед вами встанут новые задачи, которые с лёгкостью можно решить с помощью дополнительных инструментов Docker. Итак, с какими-же ещё инструментами Docker вам необходимо будет ознакомиться в дальнейшем, для более глубокого понимания этого мощного инструмента, чтобы стать настоящим специалистом:

 

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

 

Освоив эти передовые концепции, вы сможете использовать весь потенциал Docker для эффективной разработки, развертывания и управления приложениями в вашей системе Ubuntu.

 

 


Заключение

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