Docker простыми словами
6.3K subscribers
266 photos
30 videos
3 files
167 links
Сообщество по докеру.

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

Открыты к критике и ждем вашего фидбека.
@viktorreh @anothertechrock
Download Telegram
Running GUI Applications in Docker

Автор: Fraser Adams
Год издания: 2020

#docker #en

Скачать книгу
🤔5
✈️ Агрегатор вакансий в IT: talanto.work

🟢50.000+ вакансий с разных сайтов

🟢Бот с уведомлениями о ваших вакансиях

🟢Написание сопровода

🟢Разбор"прожарка" вашего резюме

🟢Проверка соответствие вашего резюме вакансиям на сайте

А если вам интересно все держать в телеграме то наш канал с последними свежими вакансиями: @talantojob
Please open Telegram to view this post
VIEW IN TELEGRAM
💩3🤡2
Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса.
Бесплатный урок курса «Вайб-кодинг: создание цифровых продуктов с ИИ»


Lovable может за минуты собрать экран, который выглядит как почти готовый интерфейс. Но результат зависит не от «магии нейросети», а от того, насколько точно вы ставите задачу. Один расплывчатый запрос даст случайный макет, а правильно собранный системный промпт — понятную структуру, единый стиль и экран, который уже можно показывать команде, заказчику или использовать для проверки идеи.

На открытом уроке 2 июля в 20:00 разберём, как формулировать задачи для Lovable, чтобы получать предсказуемый результат с первой попытки. Поговорим о структуре системного промпта, ключевых словах, которые помогают превратить текст в качественный интерфейс, и способах доработки результата через встроенный редактор и повторные запросы. Отдельно обсудим, как управлять компонентами, просить нейросеть переиспользовать элементы и сохранять единый визуальный стиль.

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

👉 Записаться: https://vk.cc/cYZz8y

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1
Linux Containers and Virtualization

Автор: Shashank Mohan Jain
Год издания: 2020

#linux #en

Скачать книгу
1🤔1
Короткий, но реально полезный приём для работы с Docker 👇


docker run --rm -it -v $(pwd):/app -w /app python:3.11 bash


💡 Что делает:


--rm — контейнер удаляется сразу после выхода (чисто, без мусора)

-v $(pwd):/app — монтирует текущую папку внутрь контейнера

-w /app — задаёт рабочую директорию

python:3.11 — базовый образ

bash — запускает интерактивную оболочку


📦 Зачем нужно:
Позволяет моментально войти в окружение Python (или любого другого образа) без Dockerfile, просто чтобы протестировать код, команду или библиотеку.
Рабочие файлы остаются на хосте, мусора — ноль.

🔥 Трюк работает с любыми образами:


docker run --rm -it -v $(pwd):/src -w /src golang:1.22 bash
docker run --rm -it -v $(pwd):/app node:20 bash
🔥12🤝2
Полезный Docker-трюк для .NET: кэшируйте NuGet-пакеты через BuildKit, а не скачивайте их заново при каждой сборке.


# syntax=docker/dockerfile:1.7

FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
WORKDIR /src

COPY *.csproj .
RUN --mount=type=cache,target=/root/.nuget/packages \
dotnet restore

COPY . .
RUN --mount=type=cache,target=/root/.nuget/packages \
dotnet publish -c Release -o /app


NuGet-кэш не попадает в финальный image, но между сборками сохраняется. В итоге restore работает быстрее, особенно в CI, где зависимости обычно весят больше, чем сам код.
👍5
🧠 Docker-совет: не копируй весь проект в image слишком рано

Одна из частых ошибок в Dockerfile:


COPY . .
RUN npm install


или:


COPY . .
RUN go mod download


Проблема в том, что Docker cache ломается при любом изменении любого файла.

Поменял README, тест, конфиг или один исходник — слой COPY . . изменился, значит зависимости снова скачиваются и билд становится медленным.

Правильный подход: сначала копировать только dependency manifest, установить зависимости, а уже потом копировать остальной код.

Для Node.js:


COPY package.json package-lock.json ./
RUN npm ci

COPY . .


Для Go:


COPY go.mod go.sum ./
RUN go mod download

COPY . .


Для Python:


COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .


Так Docker будет переиспользовать слой с зависимостями, пока реально не изменились package-lock.json, go.sum или requirements.txt.

Ещё сильнее помогает .dockerignore.

Туда стоит добавить:


.git
node_modules
dist
build
coverage
.env
*.log


Итог: меньше контекста, меньше лишних invalidated layers, быстрее CI/CD, стабильнее кеши.

Хороший Dockerfile - это не просто “собрать image”.
Это управлять слоями так, чтобы сборка не начиналась с нуля при каждом чихе.
3👍1
Оффер редко приходит сам. Обычно между «без работы» и «оффер получен» стоят десятки откликов, доработок резюме и часов поиска.

Talanto.work помогает пройти этот путь быстрее:
🟠 50 000+ IT-вакансий с разных сайтов

🟠 Telegram-бот с уведомлениями по вашим фильтрам

🟠 Проверка резюме и рекомендации по улучшению

🟠 Проверка соответствия резюме конкретной вакансии

🟠 Генератор персональных сопроводительных писем

Ищите работу не дольше. Ищите эффективнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
💩21
🎥 Вебинар по Kubernetes: K8S + Vault — как получать секреты?

Как безопасно управлять чувствительными данными в Kubernetes-кластере? На этом открытом уроке вы узнаете, как организовать надёжное и масштабируемое взаимодействие между Kubernetes и HashiCorp Vault — популярным инструментом для управления секретами.

Мы разберёмся, почему стандартные Kubernetes-секреты не всегда комфортны для использования, какие риски существуют и как их можно минимизировать с помощью подхода dynamic secrets. Основное внимание будет уделено External Secrets Operator — инструменту, который позволяет безопасно забирать секреты из Vault (и других хранилищ) и интегрировать их в кластер.

📌 На уроке вы узнаете:
- Как Kubernetes работает с секретами по умолчанию, и в чём его ограничения;
- Какие существуют способы интеграции Kubernetes и Vault;
- Что такое External Secrets Operator и почему его всё чаще выбирают для production-сред;
- Пошаговая схема подключения Vault к K8s;
- Практические примеры и best practices для безопасной и автоматизированной работы с секретами.

🎯 После вебинара вы:
- Поймёте, какие уязвимости есть в стандартном механизме Kubernetes-секретов;
- Сможете настроить интеграцию Vault с Kubernetes;
- Узнаете, как использовать External Secrets Operator для безопасного управления секретами;
- Получите шаблоны и примеры манифестов, которые можно адаптировать под свои проекты.

Открытый урок проходит в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes».

👉 Для участия зарегистрируйтесь: https://clck.su/eAiJI

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍2💩1
4 MCP-сервера, о которых стоит знать каждому DevOps-инженеру

1. Kubernetes MCP

- расследовать pod’ы в CrashLoopBackOff;
- дебажить неудачные деплои;
- анализировать состояние кластера.

Repo:
https://github.com/Flux159/mcp-server-kubernetes

2. AWS MCP

- разбирать резкие скачки расходов в AWS;
- находить неиспользуемые ресурсы;
- troubleshooting облачной инфраструктуры.

Repo:
https://github.com/awslabs/mcp

3. Terraform MCP

- проверять Terraform-планы;
- находить drift в инфраструктуре;
- объяснять изменения в инфраструктуре.

Repo:
https://github.com/hashicorp/terraform-mcp-server

4. Grafana + Prometheus MCP

- расследовать скачки latency;
- анализировать production-инциденты;
- объяснять alert storms.

Repos:
https://github.com/grafana/mcp-grafana
https://github.com/pab1it0/prometheus-mcp-server


ИИ может получать доступ к вашей инфраструктуре, понимать, что реально происходит, и помогать разбирать проблемы на основе настоящих данных, а не догадок.
👍5💩4🔥2
Docker-совет для миграции

Не переносите контейнер через docker save как единственный способ. Так вы сохраните image, но потеряете важное:

- volumes
- env-переменные
- networks
- ports
- restart policy
- bind mounts

Лучше сначала восстановить docker-compose.yml из уже запущенного контейнера:


docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/red5d/docker-autocompose \
container_name


Потом на новом сервере запускаете уже нормально:


docker compose up -d


А данные из volume переносите отдельно через tar.

Мигрировать нужно не контейнер, а всё состояние запуска. Image можно скачать заново, а вот volumes, env и настройки запуска - именно там обычно ломается прод.
👍16
Linux умеет запускать программы в почти контейнерной изоляции вообще без Docker.

За это отвечает `unshare`.

Команда создает для процесса отдельные namespace: свой список процессов, свой mount-view, hostname, IPC, network и user namespace. В итоге программа видит не всю систему, а только ограниченный «кусок» окружения.

Пример:


sudo unshare --pid --fork --mount --uts --ipc --net --user --map-root-user --mount-proc bash


Внутри новой shell можно выполнить:


ps aux


И вместо сотен процессов увидеть почти пустую систему: bash с PID 1 и сам ps.

Это не Docker, не container runtime и не магия. Это базовый механизм ядра Linux, на котором контейнеры во многом и построены.

Полезно знать, если хотите понимать контейнеры не как «черный ящик», а на уровне того, что реально делает kernel.
🔥17💯21
Как настроить Docker для автоматизированного тестирования

#читать #docker

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

Читать далее
👍7
3 сайта, которые помогают создать, проверить или улучшить резюме и пройти ATS фильтр.

1. UpdateCV.me
Сервис для создания и улучшения IT-резюме, анализа его структуры и ATS-совместимости, сравнения с конкретной вакансией и адаптации под требования работодателя.
Можно загрузить готовое резюме или создать новое с помощью ИИ. Рекомендации только по делу в формате было-стало, пользователь сам решает, какие изменения принять.

2. NETWRK
Позволяет создать резюме с нуля, провести автоматический анализ, улучшить формулировки, адаптировать резюме под вакансию и подготовить сопроводительное письмо.

3. Сопровод
Помогает сравнить резюме с вакансией, найти недостающие навыки, адаптировать содержание и создать сопроводительное письмо для конкретного отклика.
Также есть трекер отправленных откликов.

#резюме #поискработы #карьера #hr
🤩2👏1💩1