Docker простыми словами
СтатистикаСообщество по докеру. Рассказываем про docker и его применение в программировании и тестировании. Открыты к критике и ждем вашего фидбека. @viktorreh @anothertechrock
- Последний пост
- 12 авг.
- Последнее чтение
- 02:47
- Постов за неделю
- 2
- Всего постов
- 41
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- 768
- 1/48двое суток
- 880
- 1/72трое суток
- 949
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
3 сайта, которые помогают создать, проверить или улучшить резюме и пройти ATS фильтр. 1. UpdateCV.me Сервис для создания и улучшения IT-резюме, анализа его структуры и ATS-совместимости, сравнения с конкретной вакансией и адаптации под требования работодателя. Можно загрузить готовое резюме или создать новое с помощью ИИ. Рекомендации только по делу в формате было-стало, пользователь сам решает, какие изменения принять. 2. NETWRK Позволяет создать резюме с нуля, провести автоматический анализ, улучшить формулировки, адаптировать резюме под вакансию и подготовить сопроводительное письмо. 3. Сопровод Помогает сравнить резюме с вакансией, найти недостающие навыки, адаптировать содержание и создать сопроводительное письмо для конкретного отклика. Также есть трекер отправленных откликов. #резюме #поискработы #карьера #hr
Как настроить Docker для автоматизированного тестирования #читать #docker Docker позволяет эффективно автоматизировать тестирование программного обеспечения, создавая виртуализированные среды с помощью контейнеров и интегрируя их с Selenium для параллельного выполнения тестов в разных браузерах. Читать далее
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.
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 и настройки запуска - именно там обычно ломается прод.
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 ИИ может получать доступ к вашей инфраструктуре, понимать, что реально происходит, и помогать разбирать проблемы на основе настоящих данных, а не догадок.
🎥 Вебинар по 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
Оффер редко приходит сам. Обычно между «без работы» и «оффер получен» стоят десятки откликов, доработок резюме и часов поиска. Talanto.work помогает пройти этот путь быстрее: 🟠 50 000+ IT-вакансий с разных сайтов 🟠 Telegram-бот с уведомлениями по вашим фильтрам 🟠 Проверка резюме и рекомендации по улучшению 🟠 Проверка соответствия резюме конкретной вакансии 🟠 Генератор персональных сопроводительных писем Ищите работу не дольше. Ищите эффективнее.
🧠 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”. Это управлять слоями так, чтобы сборка не начиналась с нуля при каждом чихе.
Полезный 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, где зависимости обычно весят больше, чем сам код.
Короткий, но реально полезный приём для работы с 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
Linux Containers and Virtualization Автор: Shashank Mohan Jain Год издания: 2020 #linux #en Скачать книгу
Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса. Бесплатный урок курса «Вайб-кодинг: создание цифровых продуктов с ИИ» Lovable может за минуты собрать экран, который выглядит как почти готовый интерфейс. Но результат зависит не от «магии нейросети», а от того, насколько точно вы ставите задачу. Один расплывчатый запрос даст случайный макет, а правильно собранный системный промпт — понятную структуру, единый стиль и экран, который уже можно показывать команде, заказчику или использовать для проверки идеи. На открытом уроке 2 июля в 20:00 разберём, как формулировать задачи для Lovable, чтобы получать предсказуемый результат с первой попытки. Поговорим о структуре системного промпта, ключевых словах, которые помогают превратить текст в качественный интерфейс, и способах доработки результата через встроенный редактор и повторные запросы. Отдельно обсудим, как управлять компонентами, просить нейросеть переиспользовать элементы и сохранять единый визуальный стиль. Урок не для тех, кто ждёт, что Lovable «сам всё поймёт», не готов уточнять задачу и хочет получать качественный интерфейс без структуры, контекста и итераций. 👉 Записаться: https://vk.cc/cYZz8y Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
✈️ Агрегатор вакансий в IT: talanto.work 🟢50.000+ вакансий с разных сайтов 🟢Бот с уведомлениями о ваших вакансиях 🟢Написание сопровода 🟢Разбор"прожарка" вашего резюме 🟢Проверка соответствие вашего резюме вакансиям на сайте А если вам интересно все держать в телеграме то наш канал с последними свежими вакансиями: @talantojob
Running GUI Applications in Docker Автор: Fraser Adams Год издания: 2020 #docker #en Скачать книгу
Один раз настроить CI/CD по мануалу и понять, как это работает — разные вещи. Мануал ведёт за руку: вот команда, вот результат. Стоит отклониться от сценария — и уже непонятно, что сломалось и почему. 🎇На курсе «Основы DevOps» от Codeby не рассказывают, что такое DevOps, сразу работают руками: Linux и Bash как основа, потом Git, Ansible, Terraform. Дальше — контейнеризация, Docker, Kubernetes с хранилищем и масштабированием, Helm. CI/CD через Jenkins и GitHub Actions. В финале изучаете мониторинг, логирование, распределённый трейсинг. 31 тема, 7 модулей. Каждый инструмент закрепляется практическими задачами в инфраструктуре. 🪧Подходит, если уже в IT и хотите системно закрыть DevOps, а не просто добавить строчку в резюме. Успейте записаться до 25 июня ➡ Программа курса Бесплатная консультация: @CodebyAcademyBot 🤟🤟🤟
Микросервисы и контейнеры Docker Автор: Парминдер Сингх Кочер Год издания: 2019 #docker #ru #книга Скачать книгу
SRE тут? Нашли для вас подкаст, который вполне может пополнить ряд любимых. Коллеги из Авито создали «В SREду на кухне», периодически собираются, зовут на запись гостей и обсуждают то, о чём не принято говорить в опенспейсе. Например, вот темы недавних выпусков: — GitOps не волшебная таблетка; — Зачем продукту бюджет ошибок; — Роняем прод, чтобы стать сильнее: всё о Chaos Engineering; — SRE больше не нужны. AI переписал правила. Отвечая на вопрос «А при чём здесь комьюнити?» — все дополнительные инсайты, статьи и мысли на темы выпусков ребята выкладывают в канал «Avito SREда». И там уже собралась активная аудитория коллег-инженеров.
🐳 Docker tip — как мгновенно уменьшить размер образа в 3–5 раз Многие разработчики используют FROM ubuntu или FROM python по умолчанию — и получают образы по 1–2 ГБ. А ведь можно сделать то же самое в несколько раз легче, просто заменив базу. 💡 Пример: # Было FROM python:3.11 # Стало FROM python:3.11-slim # или ещё меньше FROM python:3.11-alpine 📦 Разница: - python:3.11 → ~1.2 GB - python:3.11-slim → ~400 MB - python:3.11-alpine → ~60 MB Это не просто экономия места: 🚀 Образы скачиваются и деплоятся быстрее 💾 Меньше трафика и нагрузки в CI/CD 🔒 Меньше пакетов — меньше уязвимостей
Kubernetes Programming with Go Автор: Philippe Martin Год издания: 2023 #go #kubernetes #en Скачать книгу
Сервисы, которые показывают пройдёт ли ваше резюме через ATS-робота. покажут слабые места и помогут переписать резюме так, чтобы вас заметил алгоритм, а затем и рекрутер. 🟢Talanto - сравнивает ваше резюме с вакансией, показывает процент совпадения и недостающие ключевые слова. Оценивает резюме глазами ATS и рекрутера 🟢Resume Worded — проверяет по десяткам критериев: читаемость для ATS, слабые формулировки, соответствие задачам вакансии. 🟢 SkillSyncer — сверяет хард- и софт-скиллы из вакансии с вашим документом, показывает что засчитано, а что нужно добавить. 🟢Rezi — конструктор ATS-готового резюме: подсказывает фразы, переписывает буллиты, считает Rezi Score. 🟢 Enhancv — оценивает резюме глазами ATS и рекрутера: парсинг, структура, логика блоков. 🟢 Kickresume — генератор с ATS-дружелюбными шаблонами для быстрой сборки резюме. 🟢 VisualCV — шаблоны, адаптированные под ATS: формат не ломается, ключевые слова не теряются. 🟢Resumake — минималистичный конструктор: чистый PDF без лишнего, легко подстраивать под разные отклики. 🟢CV Compiler — для IT и продукта: анализирует стек, инструменты и метрики под запросы техрекрутеров.