Docker простыми словами – Telegram
Docker простыми словами
6.37K subscribers
251 photos
28 videos
3 files
150 links
Сообщество по докеру.

Рассказываем про docker и его применение в программировании и тестировании.

Открыты к критике и ждем вашего фидбека.
@viktorreh @anothertechrock
Download Telegram
Docker Volumes & Data Persistence

→ Контейнеры по умолчанию временные, их данные исчезают после остановки или удаления.
→ Docker даёт механизмы для постоянного хранения, чтобы данные переживали перезапуски.
→ Самый надёжный способ - использовать Docker volumes.

1. Почему важна устойчивость данных

→ Контейнеры часто пересоздаются при обновлениях и масштабировании.
→ Без персистентности пропадут логи, базы данных, загрузки пользователей, конфиги.
→ Docker volumes решают это, вынося данные за пределы файловой системы контейнера.

2. Варианты хранилищ в Docker

a) Volumes
→ Управляются Docker.
→ Хранятся в /var/lib/docker/volumes/.
→ Не зависят от контейнеров.
→ Лучший выбор для БД и долгоживущих данных.

b) Bind Mounts
→ Привязывают локальную директорию хоста к контейнеру.
→ Удобно в разработке.
→ Менее переносимые.

c) tmpfs Mounts
→ Данные только в памяти.
→ Очень быстрые, но непостоянные.
→ Для временных и чувствительных данных.

3. Что такое Docker Volume

→ Это область постоянного хранения, управляемая Docker.
→ Не удаляется при удалении контейнера.
→ Можно безопасно шарить между контейнерами.

Создать volume:

docker volume create mydata


Использовать:


docker run -v mydata:/app/data nginx


Посмотреть:

docker volume inspect mydata

4. Типы Volumes

a) Named Volumes
→ Создаются вручную.
→ Чистая изоляция от файлов системы хоста.
→ Лучший вариант для продакшена.

b) Anonymous Volumes
→ Без имени.
→ Могут удаляться вместе с контейнером.
→ Для временных задач.

5. Преимущества Docker Volumes

→ Данные переживают рестарты.
→ Легко бэкапить и переносить.
→ Работают при обновлении контейнеров.
→ Можно шарить между контейнерами.
→ Docker оптимизирует хранение под производительность.

6. Bind Mounts

→ Позволяют смонтировать директорию хоста:


docker run -v /host/path:/container/path myapp



→ Удобно в разработке (горячая перезагрузка кода).
→ В продакшене использовать аккуратно.

7. Persistency в Docker Compose

Compose автоматически управляет volumes.

Пример:

services:
db:
image: postgres
volumes:
- pgdata:/var/lib/postgresql/data

volumes:
pgdata:


→ База сохраняет данные между перезапусками.

8. Бэкап и восстановление Volumes

Бэкап:

docker run --rm -v mydata:/data -v $(pwd):/backup alpine tar czvf /backup/backup.tar.gz /data


Восстановление:

docker run --rm -v mydata:/data -v $(pwd):/backup alpine tar xzvf /backup/backup.tar.gz -C /


9. Как выбрать способ хранения

→ Volumes - лучший вариант для продакшена.
→ Bind mounts - для разработки.
→ tmpfs - для временных и быстрых операций.

Quick tip

→ Docker volumes - основа устойчивости данных.
→ Даёт гибкость, скорость и надёжность.
→ Незаменимы для баз данных, stateful-сервисов и реальных продакшен-приложений.```
👍4🔥3
Oracle on Docker

Автор: Sean Scott
Год издания: 2023

#docker #en

Скачать книгу
🤔21
Forwarded from KazDevOps
🗣Внимание, конкурс!

Разыгрываем 7 ваучеров на обучение и сертификацию со скидкой 100% от The Linux Foundation, а также 7 доступов к видеокурсу Kubernetes: База от Slurm.

🟣 Каталог электронных курсов и сертификации

Ваучеры можно применить к любому:

— онлайн-курсу
— сертификационному экзамену (CKA, CKS, CKAD и другие — в комплекте!)
— или пакету (курс + сертификация)

🟣 Курс Kubernetes: База от Slurm.

Условия розыгрыша просты: 🔵 Подпишитесь на KazDevOps и жми кнопку "Учавствую!" под оригинальным постом в канале KazDevOps.

🚩 29 января подведем итоги и выберем 7 победителей. Каждый победитель получит ваучер + доступ к курсу от Slurm. Активировать ваучеры нужно до 07.01.2027. После этого у вас будет 1 год и 2 попытки, чтобы завершить обучение и сдать экзамен.

Go-go-go, и успехов!

@DevOpsKaz 😛
Please open Telegram to view this post
VIEW IN TELEGRAM
💩2
Безопасность контейнеров

Автор:
Лиз Райс
Год издания:
2021

#devops #ru

Скачать книгу
🤔1
🖥 Sidekick — инструмент командной строки для быстрого развёртывания приложений на VPS.

💡 Sidekick позволяет настроить сервер, запустить контейнеры из Dockerfile с балансировкой нагрузки и автоматическим SSL, поддерживает деплой без простоев, управление доменами и интеграцию SOPS для защиты данных. Он позиционируется как альтернатива Fly.io, подходящая для самостоятельного хостинга проектов на VPS с Ubuntu, делая его более доступным и экономичным.

🔐 Лицензия: GPL-3.0

🖥 Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Развертывание «Штурвала 2.12.1» под таймер

Разработчики из «Лаборатории Числитель» выкатили новый релиз, в котором исправления затронули процедуры обновления кластеров, работу графического интерфейса, создание и удаление кластеров на разных провайдерах.

5 февраля в 11:00 на вебинаре ребята пройдут весь процесс инсталляции в графическом интерфейсе на oVirt (zVirt, ROSA Virtualization, РЕД Виртуализация) в режиме реального времени.

Для кого вебинар: DevOps-инженеров и архитекторов, разработчиков, специалистов служб эксплуатации.

📌 Зарегистрироваться
💩1
Вопросы которые иногда могут за дать по dockery на любом собеседовании программиста или тестировщика:

Смотреть

Часть 2
👍5
Kubernetes для DevOps

Автор:
Джон Арундел
Год издания:
2020

#kubernetes #devops #ru

Скачать книгу
🐳 Docker tip — неочевидная, но мощная оптимизация

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

Например 👇

Плохой Dockerfile:


FROM python:3.11
COPY . /app
RUN pip install -r /app/requirements.txt
CMD ["python", "app.py"]


Каждое изменение кода пересобирает и зависимости.

Оптимальный вариант:


FROM python:3.11
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]


Теперь при изменении кода пересобирается только последний слой -время сборки сокращается в 5–10 раз, а CI становится мгновенным.

💡 Совет:

Добавь .dockerignore, чтобы не тащить в образ кеши, .git, логи и прочий мусор - это уменьшит размер и ускорит билд.
👍8👏3
Docker без секретов

Автор: Сайбал Гош
Год издания: 2023

#docker #ru

Скачать книгу
🔥2🤔1
Start using Docker!

What is docker?
Docker is a platform that allows developers to package, deploy and run applications in isolated environments.

What is a Docker image?
A Docker image is a read only template that contains a set of instructions for creating a container that can run on the Docker platform.

What is a docker container?
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.

What is the difference between Docker image & Docker container?
An image is a read only template with code and dependencies while a container is a running instance of an image that provides an isolated environment for an application to run.

Where can Docker be used?
Docker can be used to build and deploy applications in various environments including development, testing, staging and production(across different operating systems and cloud platforms).

Наш докер чатик 🐬

#команды
1