логотип PurpleSchool
логотип PurpleSchool

Настройка сервера Docker

Автор

Олег Марков

Введение

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

Установка Docker

Перед тем как приступить к установке, убедитесь, что ваша операционная система поддерживает Docker. Наиболее распространенные платформы для этого - это Linux, Windows и macOS. Мы начнем с примера установки Docker на Linux, конкретно на дистрибутив Ubuntu.

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

Для начала обновите индекс пакетов вашей системы:

sudo apt-get update

Далее, установите пакеты, которые позволяют apt использовать хранилище через HTTPS:

sudo apt-get 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-get update

И наконец, установите Docker:

sudo apt-get install docker-ce

Проверьте успешность установки, запустив следующую команду:

sudo systemctl status docker

Если все прошло удачно, вы увидите, что Docker работает. Поздравляю, вы только что установили Docker на ваш сервер Ubuntu!

Установка на другие платформы

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

Основные команды Docker

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

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

Одна из самых первых команд, с которой вы столкнетесь — это docker run. Через эту команду можно запустить контейнер.

docker run hello-world

Этот простой пример запускает стандартный контейнер "hello-world" и позволяет проверить, что ваша установка Docker работает корректно.

Создание нового контейнера

Для создания нового контейнера вам потребуется использовать образ Docker. Например:

docker run -d -p 80:80 nginx

В этом примере флаг -d запускает контейнер в фоновом режиме, а -p 80:80 перенаправляет трафик с порта 80 хоста на порт 80 контейнера, где работает Nginx.

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

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

docker stop <container_id>

Удалить контейнер можно командой docker rm:

docker rm <container_id>

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

docker rm $(docker ps -a -q)

В этом случае docker ps -a -q возвращает список всех идентификаторов контейнеров.

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

Еще одна важная часть работы с Docker — это управление образами. Посмотреть все доступные на вашем компьютере образы можно с помощью:

docker images

При необходимости удалить ненужный образ вы можете командой docker rmi:

docker rmi <image_id>

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

docker system prune -a

Заключение

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

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile