Если вы видите что-то необычное, просто сообщите мне.

Docker - инструмент создания инфраструктуры.

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

Преимущества использования Docker

Компоненты Docker

Как работает Docker

Работа Docker основана на принципах клиент-серверной архитектуры, которая основана на взаимодействии клиента с веб-сервером (хостом). Первый отправляет запросы на получение данных, а второй их предоставляет.

Схема работы

  1. Пользователь отдает команду с помощью клиентского интерфейса Docker-демону, развернутому на Docker-хосте. Например, скачать готовый образ из реестра (хранилища Docker-образов) с помощью команды docker pull. Взаимодействие между клиентом и демоном обеспечивает REST API. Демон может использовать публичный (Docker Hub) или частный реестры.
  2. Исходя из команды, заданной клиентом, демон выполняет различные операции с образами на основе инструкций, прописанных в файле Dockerfile. Например, производит их автоматическую сборку с помощью команды docker build.
  3. Работа образа в контейнере. Например, запуск docker-image, посредством команды docker run или удаление контейнера через команду docker kill.

Примеры применения

Установка докера

#!/bin/bash
apt update
apt install -y docker.io
groupadd docker
usermod -aG docker $USER

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

Управлением демоном

Запуск демона:

systemctl start docker

Остановка демона:

systemctl stop docker

Включение/отключение автозагрузки демона:

systemctl enable/disable docker

При добавлении ключа --now - выполняет команду не дожидаясь перезагрузки. В противном случае, команда выполнится только после перезагрузки.


Revision #9
Created 22 September 2021 11:53:02 by gasick
Updated 8 November 2023 16:10:47 by ivan.serov37@gmail.com