Найти в Дзене
Линукс дома

Docker и как им пользоваться

🐳 Если на пальцах, то Docker - это приложение, которое создает изолированное пространство (контейнер) для каждого приложения, запущенного через него. В этом контейнере создается виртуальная машина со всеми необходимыми зависимостями для запуска приложения. И весь этот зоопарк позволяет максимально гибко пользоваться массой необходимого ПО. Запускать, останавливать, автоматически перезапускать, переносить на другой сервер, а в случае поломки одного из контейнеров остальные продолжат работать, и это далеко не весь его функционал. Начнем с того что Docker - это удобно и безопасно, но только если грамотно настроить. Я не претендую на профессиональную настройку, так как сам еще учусь🧐, но за последние полгода постарался максимально погрузиться и научиться. Именно поэтому я буду настраивать всю конфигурацию так, как это удобно мне, и я уверен будет максимально просто разобраться любому новичку. Структура контейнеров: Для начала приступим к установке самого Docker'а. Для этого обнов

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

Начнем с того что Docker - это удобно и безопасно, но только если грамотно настроить. Я не претендую на профессиональную настройку, так как сам еще учусь🧐, но за последние полгода постарался максимально погрузиться и научиться. Именно поэтому я буду настраивать всю конфигурацию так, как это удобно мне, и я уверен будет максимально просто разобраться любому новичку.

Структура контейнеров:

Для начала приступим к установке самого Docker'а. Для этого обновим все пакеты и установим приложения которые нам потребуются при его установке и после:

sudo apt update
sudo apt install ca-certificates nano curl

обе команды ниже вводить совместно 👇

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Для того чтобы docker стартовал вместе с системой вводим:

sudo systemctl enable docker

Теперь проверяем:

sudo docker version
sudo docker compose version

после каждой из команд должна отобразиться версия

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

sudo mkdir /srv/dockers
cd /srv/dockers

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

sudo mkdir logs portainer mosquito z2mqtt nodered homeassist

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

Создадим в папке portainer специальный файл, с названием docker-compose.yml

sudo nano portainer/docker-compose.yml

Вносим туда следующие данные:

⚠️Обязательно соблюдайте все пробелы и отступы⚠️

version: "3.3"
services:  #Portainer - Управление докерами  
portainer:   
image: portainer/portainer-ce:latest   
container_name: portainer   
restart: unless-stopped   
environment:    
- TZ=Asia/Vladivostok   
volumes:    
- /var/run/docker.sock:/var/run/docker.sock   
 - ./portainer:/data   
ports:    
- "8000:8000"    - "9443:9443"

Вы так же можете найти этот файл на GitHub

После жмем Ctrl+X, затем Y и Enter. Наш файл сохранится и останется лежать в нужной нам папке.

Переходим в нее для запуска:

cd portainer

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

sudo docker compose up -d

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

https://0.0.0.0:9443 - где 0.0.0.0 ваш IP адрес

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