Как установить docker
Перейти к содержимому

Как установить docker

  • автор:

Как установить Docker на Ubuntu 22.04

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

Почему нужно выбрать Docker

Docker предоставляет множество преимуществ для разработчиков, системных администраторов и команд DevOps.

  • Изоляция и консистентность. Контейнеры изолируют приложения и их зависимости от друг друга и от хост-системы. Это обеспечивает согласованность и целостность в разных окружениях, позволяя избегать возникновения конфликтов и снижать вероятность ошибок.
  • Портабельность. Контейнеры можно легко переносить между разными средами, будь то машина для разработки, облачные серверы или локальный компьютер. Это упрощает процесс развертывания и тестирования.
  • Быстрое развёртывание и масштабирование. Создание и запуск контейнеров занимает всего лишь секунды, что значительно ускоряет процесс разработки и развёртывания приложений. Контейнеры также предлагают горизонтальное масштабирование, добавляя экземпляры контейнеров по мере необходимости.
  • Эффективное использование ресурсов. Docker использует общее ядро операционной системы, что позволяет оптимально использовать ресурсы хост-системы. Это означает, что контейнеры могут работать с минимальным объёмом вычислительных и памятных ресурсов.
  • Инфраструктура как код. Docker-контейнеры описываются с помощью кода, что упрощает автоматизацию и управление инфраструктурой. Это способствует управляемости и воспроизводимости процессов развертывания.
  • Лёгкая обновляемость и откат. Образы контейнеров можно легко обновить, а также быстро вернуться к предыдущей версии в случае проблемы. Это упрощает управление приложениями на производственных серверах.
  • Модульность и микросервисная архитектура. Docker способствует разделению приложения на мелкие компоненты, которые могут работать в отдельных контейнерах. Это улучшает модульность и поддерживаемость приложения, а также позволяет использовать микросервисную архитектуру.

Требования к ОС

Для установки Docker вам потребуется 64-разрядная версия одной из следующих версий Ubuntu:

  • Ubuntu Lunar 23.04,
  • Ubuntu Kinetic 22.10,
  • Ubuntu Jammy 22.04 (LTS),
  • Ubuntu Focal 20.04 (LTS).

Это все версии Ubuntu, которые, согласно официальной документации, совместимы с Docker.

Docker для Ubuntu совместим с несколькими архитектурами процессоров, включая:

  • x86_64 (или amd64),
  • armhf,
  • arm64,
  • s390x
  • ppc64le (или ppc64el).
  1. Системные ресурсы

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

Рекомендуется иметь как минимум 2 ГБ оперативной памяти.

Перенос сайта в RU-CENTER за 1 рубль

Мы приглашаем вас воспользоваться специальными условиями для упрощённого перехода на обслуживание в RU-CENTER. Получите все преимущества за символическую стоимость:

  • Полгода хостинга на выбранном тарифе – всего за 1 рубль!
  • Перенос доменов .ru и .рф на обслуживание.
  • Бесплатный перенос любого количества ваших сайтов на наш хостинг.

Просто воспользуйтесь промокодом WELCOME и присоединяйтесь к RU-CENTER уже сегодня.

Как удалить старые версии Docker

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

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

Неофициальными считаются следующие пакеты:

  • docker.io,
  • docker-compose,
  • docker-doc,
  • podman-docker.

Кроме того, Docker зависит от контейнерных технологий «containerd» и «runc» и поставляется с этими зависимостями в одном пакете – «containerd.io».

Если вы ранее устанавливали пакеты «containerd» или «runc», их также следует удалить, чтобы избежать конфликтов с версиями, поставляемыми с Docker.

Выполните следующую команду для удаления всех конфликтующих пакетов:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

В конце система apt-get сообщит, что ни одного из этих пакетов не установлено.

Важно! Образы, контейнеры, тома и сети, хранящиеся в /var/lib/docker/, не будут автоматически очищены при удалении Docker. Если вы хотите начать с «чистой» установки и предпочли бы удалить уже существующие данные, воспользуйтесь инструкцией в конце этой статьи.

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

Способ 1. Установка с помощью apt

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

  1. Обновите apt и установите пакеты, необходимые для работы с репозиторием:

sudo apt-get update

sudo apt-get install ca-certificates curl gnupg

  1. Добавьте официальный GPG-ключ Docker:

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg —dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

  1. Используйте следующую команду для настройки репозитория:

«deb [arch=»$(dpkg —print-architecture)» signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \

«$(. /etc/os-release && echo «$VERSION_CODENAME»)» stable» | \

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  1. Обновите пакеты apt:

sudo apt-get update

  1. Для установки последней версии выполните:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

sudo systemctl status docker

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

  • docker.service — Docker Application Container Engine

Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)

Active: active (running) since Fri 2022-04-01 21:30:25 UTC; 22s ago

Main PID: 7854 (dockerd)

└─7854 /usr/bin/dockerd -H fd:// —containerd=/run/containerd/containerd.sock

Теперь вы успешно установили и запустили Docker.

Способ 2. Ручная установка

Если вы не можете использовать репозиторий apt для установки Docker, можете загрузить файл .deb для вашей версии ОС и установить его вручную.

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

  1. Перейдите по на официальный сайт Docker.
  2. Выберите вашу версию Ubuntu из списка.

  1. Перейдите в каталог «pool/», затем в «stable/» и выберите соответствующую архитектуру (amd64, armhf, arm64 или s390x).
  2. Загрузите следующие файлы .deb для пакетов Docker Engine, CLI, containerd и Docker Compose:
  • containerd.io__.deb.
  • docker-ce__.deb,
  • docker-ce-cli__.deb,
  • docker-buildx-plugin__.deb,
  • docker-compose-plugin__.deb.
  1. Установите пакеты .deb. Обновите пути в следующем примере в соответствии с местоположением загруженных пакетов Docker.

Демон Docker будет запущен автоматически.

  1. Проверьте успешность установки Docker, выполнив команду:

sudo service docker start

sudo docker run hello-world

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

Hello from Docker!

This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:

The Docker client contacted the Docker daemon.

The Docker daemon pulled the «hello-world» image from the Docker Hub.

The Docker daemon created a new container from that image which runs the

executable that produces the output you are currently reading.

The Docker daemon streamed that output to the Docker client, which sent it

to your terminal.

To try something more ambitious, you can run an Ubuntu container with:

$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:

For more examples and ideas, visit:

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

Способ 1. Установка с помощью apt-get

  1. Обновите пакеты и установите последнюю версию Docker Compose:

sudo apt-get update

sudo apt-get install docker-compose-plugin

  1. Убедитесь, что Docker Compose установлен корректно, проверив его версию:

docker compose version

Ответ отобразится в формате «v2.20.3», где вместо v2.20.3 будет указана последняя установленная версия Docker Compose.

Способ 2. Вручную

  1. Чтобы скачать и установить плагин Compose, выполните следующие действия:

mkdir -p $DOCKER_CONFIG/cli-plugins

curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

Эта команда загружает последний релиз Docker Compose (из репозитория релизов Compose) и устанавливает Compose для активного пользователя в директорию $HOME.

  1. Для установки Docker Compose для всех пользователей пропишите:

sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

  1. Убедитесь, что установка прошла корректно:

docker compose version

Версия Docker Compose будет отображена в формате «v2.20.3».

Способ 3. Установка с помощью git

sudo apt-get install git

  1. Чтобы убедиться в успешной установке, проверьте версию Git:

Вы увидите примерно следующий вывод:

git version 2.20.3

  1. Для того чтобы клонировать репозиторий, перейдите на страницу Docker Compose на GitHub и скопируйте ссылку в разделе «Code».

  1. Пропишите её вместе с командой git clone:

git clone https://github.com/docker/compose.git

После выполнения этой команды начнётся процесс клонирования репозитория с GitHub.

Как удалить Docker на Ubuntu 22.04

Чтобы удалить пакеты Docker Engine, CLI, containerd и Docker Compose, выполните следующую команду:

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

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

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

$ sudo rm -rf /var/lib/docker

$ sudo rm -rf /var/lib/containerd

Любые изменённые файлы конфигурации также нужно будет удалить вручную.

Заключение

В этой статье мы рассмотрели процесс установки Docker и Docker Compose на Ubuntu 22.04. Теперь вы готовы начать работу с контейнеризацией и воспользоваться всеми преимуществами, которые предоставляет Docker.

Не забудьте, что на нашем сайте есть ещё больше информации об этой платформе. Ознакомьтесь со статьями «Краткий экскурс в Docker» и «Что такое Docker контейнер», где вы найдёте полезные советы и руководства для централизованного управления контейнерами.

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

Добавить пользователя в группу, для того чтобы без sudo выполнять команды и перезагрузиться чтобы изменения вступили в силу:

sudo usermod -aG docker $USER 

Убедиться, что Docker установлены правильно, запустив изображение hello-world:

sudo docker run hello-world 

2. Установка Docker-Compose

sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` \ -o /usr/local/bin/docker-compose 
sudo chmod +x /usr/local/bin/docker-compose 

3. Установка Docker-Machine

На сервере выполнить следующие команды:

sudo adduser dockeradmin sudo passwd dockeradmin 

Добавить права администратора для созданного пользователя. Для этого добавить строку с помощью visudo:

dockeradmin ALL=(ALL) NOPASSWD: ALL 

На хосте выполнить следующие команды:

base=https://github.com/docker/machine/releases/download/v0.14.0 \ && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine \ && sudo install /tmp/docker-machine /usr/local/bin/docker-machine 

4. Установка Portainer

Portainer — веб-интерфейс для работы с Docker-хостами и кластерами Docker Swarm.

Создаем том контейнера:

docker volume create portainer_data 

Скачиваем и запускаем контейнер:

docker run -d -p 9007:9000 --restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /opt/portainer:/data portainer/portainer 

Установка и настройка Docker в Ubuntu

Docker — программное обеспечение для облегчения создания, развертывания и запуска приложений. Разработчик может упаковать приложение и все его зависимости в изолированную среду. Managed Kubernetes помогает разворачивать контейнерные приложения в инфраструктуре Selectel. Сосредоточьтесь на разработке, а мы займемся рутинными операциями по обеспечению работы вашего кластера Kubernetes. Создавая аналогичную изолированную среду, Docker схож с виртуальным сервером. Однако, […]

Изображение записи

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

Managed Kubernetes помогает разворачивать контейнерные приложения в инфраструктуре Selectel. Сосредоточьтесь на разработке, а мы займемся рутинными операциями по обеспечению работы вашего кластера Kubernetes.

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

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

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

Перед началом установки всех необходимых компонентов, подготовим сервер. Это будет облачный сервер с готовой конфигурацией.

В консоли управления Selectel перейдем в представление Облачная платформа и нажмем на кнопку Создать сервер.

На следующем представлении вводим имя сервера, выбираем образ операционной системы (в нашем случае это Ubuntu 18.04 LTS 64-bit) и фиксированную конфигурацию сервера с 1 vCPU и 2 ГБ RAM. Для тестовых целей будет достаточно диска с 10 ГБ. Еще раз проверяем конфигурацию сервера и нажимаем Создать.

Подождем минуту или две пока сервер не перейдет в состояние Active.

Теперь можем приступать к установке Docker. Поехали!

Docker: системные требования для установки

Один из компонентов окружения Docker — Docker Engine. Эти клиент-серверное приложение, которое обеспечивает следующие компоненты:

  • серверная часть с процессом-демоном dockerd;
  • API-интерфейсы, которые программы могут использовать для взаимодействия с демоном Docker;
  • клиента интерфейса командной строки (CLI), вызываемый командой docker.

Docker Engine поставляется в виде .deb и .rpm пакетов и может быть установлен на любые дистрибутивы семейства Linux (CentOS, Debian, Fedora, Raspbian, Ubuntu). Также есть специальная утилита Docker Desktop, которая позволяет исполнять Docker Engine на операционных системах Windows и MacOS. В обоих случаях, все равно будет использоваться ядро Linux.

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

Чтобы установить Docker на Ubuntu, выполним подготовительные действия. Для начала, обновим состав установочных пакетов, чтобы иметь представление об их актуальных версиях:

sudo apt update

Предварительно установим набор пакетов, необходимый для доступа к репозиториям по протоколу HTTPS:

  • apt-transport-https — активирует передачу файлов и данных через https;
  • ca-сertificates — активирует проверку сертификаты безопасности;
  • curl — утилита для обращения к веб-ресурсам;
  • software-properties-common — активирует возможность использования скриптов для управления программным обеспечением.
sudo apt install apt-transport-https ca-certificates curl software-properties-common

Далее добавим в систему GPG-ключ для работы с официальным репозиторием Docker:

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

Теперь добавим репозиторий Docker в локальный список репозиториев:

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

Повторно обновим данные о пакетах операционной системы:

sudo apt update

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

sudo apt install docker-ce -y

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

sudo systemctl start docker
sudo systemctl enable docker

На этом установка Docker завершена и можно начинать с ним работу.

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

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

Посмотрим последнюю сборку Docker Compose в репозитории на Github и загрузим ее при помощи утилиты curl со следующими параметрами:

  • –L разрешает редиректы, если файл перемещен;
  • –o модифицирует имя файла для удобства его запуска и указывает каталог для сохранения.
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

После завершения загрузки, добавим загруженному бинарному файлу права на выполнение:

sudo chmod +x /usr/local/bin/docker-compose

Заметим, что выполнить установку Docker Compose можно было из репозитория Ubuntu командой sudo apt-get install docker-compose. Однако, в репозитории может быть не самая последняя версия. Способ, который мы описали выше, позволит загрузить актуальную версию утилиты Docker Compose.

Чтобы проверить корректность работы утилиты, выполним проверку ее версии:

sudo docker–compose –version

Если команда вернула номер версии, значит Docker Compose готов к работе.

Когда нужно удалить Docker Compose, достаточно выполнить команду удаления файла:

sudo rm /usr/local/bin/docker-compose

Если установка выполнялась через пакетный менеджер apt, нужно его вызвать с параметром purge:

sudo apt purge docker-compose

И следом удалить все невостребованные зависимости:

sudo apt autoremove

Команды Docker и работа с ним

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

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

Создадим новую директорию, перейдем в нее и создадим Dockerfile:

mkdir docker_images
cd docker_images
touch Dockerfile

Откроем Dockerfile и добавим в него несколько строк:

nano Dockerfile
FROM ubuntu MAINTAINER selectel RUN apt-get update CMD ["echo", "Hello World"]
  • FROM определяет основу создаваемого изображения. Можно начать с родительского (как в примере выше) или базового образа. При использовании родительского образа вы используете существующий образ, на котором основан новый. Использование базового образа означает, что вы начинаете с нуля (именно так его и определяют: FROM scratch).
  • MAINTAINER указывает автора образа. Здесь вы можете ввести ваше имя и/или фамилию (или добавить адрес электронной почты). Также сюда можно вписать инструкцию по добавлению метаданных (LABEL) к образу.
  • RUN определяет инструкции по выполнению команды при построении образа в слоях поверх него. В этом примере система ищет обновления репозитория после начала сборки образа Docker. В Dockerfile может быть несколько инструкций RUN.
  • CMD отвечает за значение команды по умолчанию, которая будет исполнено. Система выполнит ее, если вы запустите контейнер без указания команды. Внутри Dockerfile может быть только одна инструкция CMD.

Сохраним изменения и выйдем из режима редактирования. Теперь можно приступать к сборке контейнера. Для этого используем утилиту Docker. Базовый синтаксис выглядит так:

sudo docker build [OPTIONS] PATH | URL | -

Запустим утилиту с параметром -t, который указывает на имя образа. Это упростит управление образами, когда их станет несколько.

sudo docker build -t my_image .

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

sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE my_image latest 889af78121ad 4 seconds ago 100MB ubuntu latest 4dd97cefde62 2 weeks ago 72.9MB

Казалось бы мы создали только один образ. Откуда там появилось два? Все просто — мы создавали свой контейнер my_ubuntu на на базе образа ubuntu, поэтому вначале скачался образ ubuntu и лишь потом был создан my_image.

Запустим новый контейнер Docker на основе образа, созданного на предыдущих шагах. Назовем контейнер «test» и получим вывод «Hello world» в результате выполнения команды docker run. Ubuntu, CentOS или Debian — операционная система значения не имеет, синтаксис везде будет одинаковый.

sudo docker run --name test my_image
Hello World

После выключения контейнера, все данные, которые он генерировал за время работы удаляются. Чтобы этого не происходило, предусмотрена возможность монтирования внешних хранилищ. Docker автоматически создает каталог /var/lib/docker/volume, в который можно сохранять данные на постоянной основе и совместно их использовать между несколькими контейнерами. Создадим новое хранилище с именем «selectel»:

sudo docker volume create selectel

Теперь запустим контейнер с примонтированным внешним хранилищем:

sudo docker run --name=test --mount source=selectel,destination=/selectel my_image

Таким образом, все данные, которые появятся в директории /selectel внутри контейнера будут надежно храниться на файловой системе сервера.

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

Предварительно выведем в терминал запущенные контейнеры:

sudo docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b52480dd6110 my_image "echo 'Hello World'" 4 minutes ago Exited (0) 4 minutes ago test

Увидим контейнер, который мы только что запустили. Еще один вариант получить список запущенных контейнеров — добавить параметр -a. Так мы увидим список id контейнеров:

sudo docker container ls –aq
b52480dd6110

Можно остановить один контейнер:

sudo docker container stop [container_id]

А можно все разом:

sudo docker container stop $(docker container ls –aq)

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

sudo docker container stop $(docker container ls –aq) && docker system prune –af ––volumes

Команда выполняет остановку контейнеров, перечисленных в круглых скобках. Атрибут && предписывает Docker удалить все остановленные контейнеры и тома. Параметры –af указывает, что это должно применяться ко всем контейнерам (a) без необходимости подтверждения (f).

А теперь удалим контейнер. Один или все сразу:

sudo docker container rm [container_id]
sudo docker container rm $(docker container ls –aq)

При удалении ненужных контейнеров можно также задавать фильтры. Например, в примере ниже мы удалим все контейнеры без метки мейнтейнера «selectel».

sudo docker container prune --filter=”label!=maintainer=selectel”

Фильтры имеют следующий синтаксис:

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

sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE my_image latest 889af78121ad 24 hours ago 100MB ubuntu latest 4dd97cefde62 2 weeks ago 72.9MB

Чтобы удалить неиспользуемые образы, нужно воспользоваться их идентификатором из колонки IMAGE ID.

docker image rm [image_id1] [image_id2]

Аналогичным контейнерам образом, удаляемые образы можно фильтровать по меткам или по дате создания. Первая команда удаляет образы с меткой «selectel», а вторая все образы, созданные за последние 24 часа.

sudo docker image prune ––filter=”label=selectel”
sudo docker image prune –a ––filter “until=24h”

Так как контейнеры после остановки не сохраняют внутри себя никакие данные. Например, если в контейнере работала база данных и там за время работы контейнера были созданы объекты и данные, после остановки они пропадут. Для этого, к контейнеру монтируются каталоги, расположенные, непосредственно на диске операционной системы. Чтобы просмотреть все такие каталоги, выполним команду:

sudo docker volume ls

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

sudo docker volume rm [VolumeName]

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

sudo docker network ls
NETWORK ID NAME DRIVER SCOPE 1e31297e1d6a bridge bridge local 783575476ed4 host host local c7c5d2496494 none null local

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

sudo docker network rm [networkID]

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

sudo docker system prune

Можно использовать дополнительные параметры:

  • -a — для удаления всех остановленных контейнеров и неиспользуемых образов.
  • -f — Обойти диалоговое окно подтверждения
  • —volumes — Удаляет все неиспользуемые тома.

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

sudo docker container prune
sudo docker image prune
sudo docker volume prune
sudo docker network prune

Можно использовать дополнительный параметр -a, в этом случае удаляются неиспользуемые и зависшие объекты.

Работа с репозиторием Docker Hub

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

Прежде чем начать, понадобится учетная запись на Docker Hub. Регистрация бесплатная. Сейчас в нашем тестовом окружении на Docker Hub нет ни одного репозитория. Прежде чем начинать выгрузку создадим один с помощью кнопки Create Repository.

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

sudo docker login -u [docker-hub-username]

Осталось выгрузить образ в репозиторий. Установим образу метку, а затем зальем его в репозиторий.

sudo docker tag my_image [docker-hub-username]/my_image:0.0.1
sudo docker push [docker-hub-username]/my_image:0.0.1
The push refers to repository [docker.io/[docker-hub-username]/my_image] 8c25b6d14dcf: Pushed c20d459170d8: Pushed db978cae6a05: Pushed aeb3f02e9374: Pushed 0.0.1: digest: sha256: size: 1155

В результате, образ появится в репозитории.

Работа с частным репозиторием

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

Запустим локальный репозиторий в контейнере:

docker run -d -p 5000:5000 --restart=always --name registry registry:2

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

docker tag my_image localhost:5000/my_image
docker push localhost:5000/my_image
docker pull localhost:5000/my_image

Частный репозиторий готов к работе.

Заключение

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

Как установить Docker на CentOS

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

Разработчики используют Docker для создания приложений изолированно друг от друга. Благодаря контейнеризации платформы они могут объединить все ресурсы в одной среде, включая ОС и необходимые библиотеки.

Так, существенно упрощается отладка, обновление и повторное развертывание приложений. Это также оптимизирует эксплуатационные расходы, позволяя пользователям запускать несколько приложений на одном веб-сервере.

Существует две вариации Docker:

  • Community Edition (CE) — это бесплатная платформа контейнеризации с открытым исходным кодом.
  • Enterprise Edition (EE) — премиальная сертифицированная платформа, поставляемая с дополнительными функциями, которые могут помочь предприятиям более эффективно запускать, управлять и защищать свои контейнеры.

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

Требования к ОС

  • 64-разрядный сервер;
  • Версия CentOS 7, CentOS 8 (Stream) или CentOS 9 (Stream);
  • Пользователь без полномочий root с привилегиями sudo или суперпользователь;
  • Включённый репозиторий CentOS Extras.

Важно! Как правило, репозиторий CentOS Extras включён по умолчанию.

Как удалить старые версии Docker

Если вы уже устанавливали старые версии Docker («docker» или «docker-engine»), перед установкой новой удалите их вместе со всеми зависимостями с помощью команд:

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

Настройка и установка Docker CE на CentOS 7

  1. Обновите локальную базу данных пакетов:

sudo yum check-update

  1. Загрузите последнюю доступную версию Docker из официального репозитория:

curl -fsSL https://get.docker.com/ | sh

  1. После завершения установки запустите демон Docker:

sudo systemctl start docker

  1. Убедитесь, что он работает:

sudo systemctl status docker

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

Output
docker.service — Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-04-18 09:03:45 DST; 6 weeks 1 days ago
Docs: https://docs.docker.com
Main PID: 749 (docker)

  1. Убедитесь, что Docker запускается при каждой перезагрузке сервера:

sudo systemctl enable docker

Готово! Теперь на вашем сервере установлен Docker.

Как установить Docker CE на CentOS 8 (Stream) / CentOS 9 (Stream)

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

sudo dnf install yum-utils

  1. Добавьте репозиторий с последними стабильными версиями Docker:

sudo dng config-manager —add-repo=https://download.docker.com/linux/centos/docker-ce.repo

  1. После успешной настройки репозитория выполните следующую команду, чтобы узнать, какая версия Docker доступна для установки.
  2. sudo dnf list docker-ce

На выходе вы должны получить примерно следующий результат:

Docker CE Stable — x86_64 1.5 kB/s | 3.4 kB 00:03
Available Packages
docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable

  1. Установите последнюю стабильную версию Docker:

sudo dnf install docker-ce —nobest -y

  1. После установки воспользуйтесь утилитой systemctl, чтобы запустить и включить Docker на своём сервере:

sudo systemctl start docker
sudo systemctl enable docker

  1. Проверьте установленную версию Docker:

На выходе вы получите ответ, похожий на:

Docker version 19.03.13, build 4484c46d9d

Как загрузить и запустить образ в Docker

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

  1. Чтобы проверить, можете ли вы получить доступ и загрузить образы из Docker Hub, введите:

docker run hello-world

  1. Если всё работает верно, в результате вы получите:

«Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
7050e35b49f5: Pull complete
Digest: sha256:6e8b6f026e0b9c419ea0fd02d3905dd0952ad1feea67543f525c73a0a790fefb
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the «hello-world» image from the Docker Hub.
(arm64v8)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/»

Как работать с контейнерами в Docker

Чтобы запустить контейнер Docker и управлять им, вам в любом случае понадобится определённый образ. Вы можете искать любые образы, доступные в Docker Hub, с помощью команды docker с подкомандой search.

Например, чтобы найти образ CentOS, введите:
docker search centos

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *