home.social

#dockerfile — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #dockerfile, aggregated by home.social.

fetched live
  1. Куда на самом деле попадает секрет при сборке Docker-образа: разбираем 8 способов

    Секрет попал в Dockerfile, разработчик спохватился и добавил RUN rm. Файла в контейнере больше нет — значит, всё в порядке? Нет: строку по-прежнему можно достать из образа, даже не запуская контейнер. Я собрала восемь образов, в каждом передала секрет своим способом и разобрала результат на слои и метаданные. Ниже — где именно оседает секрет в каждом случае и какие два способа действительно не оставляют следов. Все эксперименты выполнены на Ubuntu 24.04.1 LTS, Docker Engine 29.1.3, BuildKit v0.26.2.

    habr.com/ru/companies/first/ar

    #docker #безопасность_данных #dockerfile #buildkit #secrets #docker_образы

  2. Многоэтапные сборки в Docker: как уменьшить образ с 1,2 ГБ до 50 МБ

    Знакомая картина: вы написали микросервис, набросали Dockerfile из четырёх команд — и получили образ на 1,2 ГБ. В единичном случае не страшно, но этот гигабайт гоняется по сети десятки раз в день: при каждом коммите в CI, на preview-окружениях, при деплое в кластеры. В итоге — минуты ожидания пайплайнов, счета за трафик и хранение, плюс лишние системные пакеты с десятками CVE. Показываем на Node.js и Go, как ужать образ с 1,2 ГБ до 50 МБ через multi-stage — без единой строчки правок в коде. Раскатать без боли →

    habr.com/ru/companies/netology

    #docker #multistage_builds #dockerfile #оптимизация_Dockerобраза #alpine_linux #nodejs #контейнеризация #buildkit #distroless #cicd

  3. Docker Fundamentals: теория и базовая эксплуатация

    Я очень рад, что существует такая технология, как Docker, и внедряю её в проекты и инфраструктуру клиентов. Однако есть одно «но»: многие не понимают, что это и зачем оно нужно, а объяснять иногда достаточно сложно (особенно повторять каждый раз каждому человеку, да и есть шанс что-то упустить). В этой статье вы узнаете базу по Docker, где найти практику и актуальные знания. Технология будет полезна многим: от специалистов по безопасности до разработчиков. А сама статья будет познавательна для тех, кто только изучает работу Docker и хочет узнать ответы на вопросы, которые часто задаются на собеседованиях, где требуется Docker. Приступим! Читать

    habr.com/ru/companies/ruvds/ar

    #docker #dockercompose #dockerfile #docker_swarm #dockerhub #devops #инструменты_разработки #инструменты #инструменты_разработчика #ruvds_статьи

  4. Что у вас спросят про Docker на интервью? Разбираем 10 главных вопросов

    Docker уже давно перестал быть «модной новинкой» и превратился в минимум для любого бэкендера, DevOps-инженера или QA. Строчка с Docker есть почти в каждом резюме, поэтому на собеседованиях технические специалисты любят копать глубже. Вызубрить десяток флагов для docker run — недостаточно. Интервьюеры хотят видеть, что вы понимаете саму архитектуру контейнеризации: как работает изоляция процессов, почему данные внезапно исчезают после рестарта, чем слои отличаются от томов и что будет, если PID 1 внутри контейнера завершит работу.

    habr.com/ru/articles/1043546/

    #Docker #собеседование #вопросы_на_собеседовании #DevOps #контейнеризация #Docker_Compose #Dockerfile #Kubernetes #ITкарьера #подготовка_к_интервью

  5. Best Practices по Dockerfile: от базового образа и кеша до SBOM, Cosign и CI/CD

    Статья получилась большой: практик много, и каждая из них важна по-своему. Я собрал её как набор best practices: не все пункты нужны каждому проекту, но почти каждый пункт однажды всплывает на ревью, в CI или после неприятного инцидента. Я старался писать для разных грейдов: от базовых ошибок вроде COPY . . , latest и root-пользователя до продовых тем вроде BuildKit, секретов, SBOM, подписи образов и защиты цепочки поставки ПО. Поэтому язык подачи здесь намеренно сухой, прямой и инженерный: без долгих заходов, без воды и без пересказа документации ради пересказа. Я хотел сделать не обзорную статью, а рабочую памятку, к которой можно вернуться при написании, ревью или доработке Dockerfile. Чтобы в статье было легче ориентироваться, я разбил её на смысловые блоки. Ниже оглавление: нажали на нужный пункт — сразу перешли к соответствующему разделу. Оглавление: 1. Базовый образ, версии и управляемое обновление 2. Контекст сборки, .dockerignore , копирование файлов и безопасное получение внешних данных ...

    habr.com/ru/articles/1041784/

    #dockerfile #docker #best_practice #kubernetes #образы #контейнеры #докер #devops #devsecops #контейнеризация

  6. Как дебажить distroless-контейнер в Kubernetes без shell: ephemeral containers на практике

    Статья о том, как дебажить distroless-контейнеры в Kubernetes, когда внутри нет ни shell, ни привычных утилит. Разбираем ephemeral containers на практике: зачем они нужны, как помогают во время инцидента, где легко ошибиться с файловой системой, процессами, DNS и TLS, и почему нормальная отладка должна жить в платформе, а не внутри боевого образа.

    habr.com/ru/articles/1040748/

    #devops #kubernetes #observability #дебаг #девопс #distroless #ephemeral #кубер #docker #dockerfile

  7. [Перевод] Поддержка Docker Compose в Spring Boot 3.1

    Иногда перед разработчиком встает задача воссоздания некоторого окружения локально. В него часто входят различные компоненты инфраструктуры, такие как: – PostgreSQL – Kafka – RabbitMQ – Redis И так далее. Менеджить целый зоопарк таких сервисов локально бывает не очень удобно. К счастью, у команды Spring Boot для вас есть небольшой помошник - Spring Boot Docker Compose. Комментарий от Михаила Поливахи: Друзья, хоть на дворе уже Spring Boot 4, мы знаем, что большинство из вас сидит на Spring Boot 3. И мы посчитали очень нужным рассказать о таком Spring Boot инструменте, который, на наш взгляд, делает локальную разработку со Spring Boot намного более приятной.

    habr.com/ru/companies/spring_a

    #java #kotlin #docker #dockercompose #dockerfile #devops #deploy #cloud

  8. FastAPI + Docker с нуля: деплоим свой первый API без боли и слез

    Каждый начинающий бэкендер рано или поздно сталкивается с классической болью: «Ну не знаю, на моем компе всё работало, а на сервере почему-то падает!». Решение давно известно — контейнеризация. Но что делать, если от слова Docker бросает в дрожь, а официальные туториалы написаны сухим академическим языком и требуют знания Linux-администрирования? Мы с нуля напишем простейшее API на современном FastAPI, разберемся, чем «образ» отличается от «контейнера», упакуем наш код в изолированную коробочку и научимся запускать всё это одной кнопкой через Docker Compose. Максимально просто, «на пальцах» и без лишней воды. Заходи, если хочешь деплоить без боли и слез!

    habr.com/ru/articles/1031190/

    #python #fastapi #docker #dockercompose #dockerfile #бэкенд #для_начинающих #микросервисы #api #разработка_с_нуля

  9. Мини-пайплайн на страже синтаксиса и секретов в Ansible

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

    habr.com/ru/articles/1029976/

    #ansible #linter #dockerfile #docker_compose #github_actions #git

  10. Docker/Podman-клиент и Remote-клиент для GigaIDE

    Продолжаем наши обзоры плагинов к GIgaIDE. Первая статья здесь , последняя доступна по этой ссылке . На этот раз в нашем обзоре — плагины Docker и Remote , доступные в версии GigaIDE PRO и обновляемые с маркетплейса . Начнём с рассказа про плагин Docker.

    habr.com/ru/companies/sberbank

    #gigaide #docker #dockerfile #java

  11. Some rules to apply to your Dockerfile in order to make your Docker image more reproducible :

    - do not use "latest" versions of base images
    - use official images pulled from the official Docker library
    - pin versions in pip/apt/npm/yum... install (no apt-update)
    - clean temporary files (apt-get clean, rm -rf /var/lib/apt/lists/*, etc.)

    ...

    (source : arxiv.org/abs/2601.12811 ) #Docker #dockerfile quality #reproducibility

  12. Some rules to apply to your Dockerfile in order to make your Docker image more reproducible :

    - do not use "latest" versions of base images
    - use official images pulled from the official Docker library
    - pin versions in pip/apt/npm/yum... install (no apt-update)
    - clean temporary files (apt-get clean, rm -rf /var/lib/apt/lists/*, etc.)

    ...

    (source : arxiv.org/abs/2601.12811 ) #Docker #dockerfile quality #reproducibility

  13. De manière assez convaincante bien que sur un échantillon restreint (5 articles de conférence), une étude récente montre que le fait de fournir le code source avec un #dockerfile pour en obtenir une image Docker échoue à garantir une reproductibilité des résultats en quelques mois. En chargeant les dernières versions de paquets issus de gestionnaires qui sont en soi non reproductibles, cette "recette" ne peut construire que des images qui varient assez vite avec le temps dl.acm.org/doi/10.1145/3736731

  14. De manière assez convaincante bien que sur un échantillon restreint (5 articles de conférence), une étude récente montre que le fait de fournir le code source avec un #dockerfile pour en obtenir une image Docker échoue à garantir une reproductibilité des résultats en quelques mois. En chargeant les dernières versions de paquets issus de gestionnaires qui sont en soi non reproductibles, cette "recette" ne peut construire que des images qui varient assez vite avec le temps dl.acm.org/doi/10.1145/3736731

  15. Кэш-монтирование или Cache mount в Docker. Использование кэш-монтирования в GitLab CI/CD

    Кэш-монтирование в Docker — это мощный инструмент, который может значительно ускорить процесс сборки образов в CI/CD. Но его правильная настройка в GitLab требует понимания не только работы BuildKit, но и особенностей взаимодействия с различными конфигурациями GitLab Runner — DinD и DooD. В этой статье я расскажу об устройстве кэш-монтирования в Docker и как его использовать в GitLab CI/CD. На примере простой сборки Python-проекта покажу готовые решения для кэширования зависимостей, чтобы оптимизировать сборку Docker-образов.

    habr.com/ru/articles/995528/

    #docker #deploy #gitlab #python #cache #dockerfile #cicd #dind #buildkit #git

  16. I might be a few months late, but I finally found some time to publish my "magnetic_tape" crypto challenge from #NullCon #Berlin #HackIM #CTF 2025:

    github.com/OOTS/magnetic_tape

    I included the source code (was published anyway during the CTF), my own solution, my own #writeup, and some internal files (#Dockerfile, docker-compose, minimal #python #unittests).

    Also: #NullCon #Goa #HackIM #CTF 2026 is happening in a few days: ctf.nullcon.net
    Go check it out!

  17. Poprosiłem Copilota o zoptymalizowanie mojego Dockerfile, który służy do budowania aplikacji. Przed zmianami budował się do 2GB, po "optymalizacji" miał 2.1GB. I takie to z AI zabawy xD

    #docker #dockerfile #devops #selfhosted #strapi #javascript #nodejs #webdev #programowanie #sysadmin #containers #cloud #ai #aidev #fediverse #mastodev

  18. Poprosiłem Copilota o zoptymalizowanie mojego Dockerfile, który służy do budowania aplikacji. Przed zmianami budował się do 2GB, po "optymalizacji" miał 2.1GB. I takie to z AI zabawy xD

    #docker #dockerfile #devops #selfhosted #strapi #javascript #nodejs #webdev #programowanie #sysadmin #containers #cloud #ai #aidev #fediverse #mastodev

  19. Как я уменьшил Docker-образ Go-приложения с 1.92 GB до 9 MB

    Первый Docker-образ для моего Go-приложения весил 1.92 GB. Для микросервиса на 100 строк — абсурдно. Решил разобраться, куда именно уходит место и как добиться максимально лёгкого образа.

    habr.com/ru/articles/962318/

    #docker #dockerfile #docker_desktop #go #devops #backend #микросервисы #оптимизация #минимизация

  20. Интеграция .NET-приложения с внешним API по ГОСТ TLS через CryptoPro

    Всем привет. Представлюсь - меня зовут Евгений Думчев и я Team Lead .NET разработки в DDPlanet. В какой-то момент в моей практике появилась задача по интеграции с внешним API. Для взаимодействия требовалось применять предоставленный публичный доверенный сертификат сервера .cer и клиентский .pfx сертификат. Особенность в том, что .pfx сертификат был выпущен через CryptoPro CSP - а это вносит свои тонкости в процесс интеграции…

    habr.com/ru/articles/938244/

    #cryptopro #tls #pfx #сертификаты #net #nginx #безопасность_вебприложений #api #интеграция #dockerfile

  21. #DevLog: #Anklang #CI Grind

    🐳 Built #Dockerfile twice:

    🚫 First attempt on Debian Bookworm failed due to libstdc++-12 being too old

    ✅ Switched to #ubuntu:22.04 for newer deps

    🛠️ Updated Makefiles to remove Git dependency from tarball builds (unfinished)

    #100DaysOfCode

  22. #DevLog: #Anklang #CI Grind

    🐳 Built #Dockerfile twice:

    🚫 First attempt on Debian Bookworm failed due to libstdc++-12 being too old

    ✅ Switched to #ubuntu:22.04 for newer deps

    🛠️ Updated Makefiles to remove Git dependency from tarball builds (unfinished)

    #100DaysOfCode

  23. Быстрый деплой бота (и не только) на Docker-хостинге с Portainer

    18 июня будет два года как я создал сообщество "Код на салфетке". Сразу оговорюсь, что это некоммерческая история и возникло оно как решение важной для меня проблемы: "недостаток информации для начинающего разработчика". В процессе моего обучения и развития я сталкивался с различными нюансами, которые решались достаточно просто, но найти "комплексный ответ" зачастую было очень трудной задачей. Каждый четверг я выпускал новые публикации, потом эту идею подхватили мои товарищи и мы начали чередовать наши статьи. За эти два года на телеграм канал "Код на салфетке" подписалось больше тысячи человек и я решил, что в качестве благодарности за внимание - устрою честный розыгрыш 9-ти книг по программированию. Подробности конкурса опубликую немного позже, но поучаствовать может кто угодно. За эти два года мне в личку и в чат Telegram-канала довольно часто пишут новички и их вопросы можно разделить на две категории:

    habr.com/ru/articles/917886/

    #docker #dockercompose #gitops #devops #portainer #dockerhosting #dockerfile

  24. Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)

    Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?

    habr.com/ru/articles/917226/

    #docker #dockerfile #cluster #security #stable #deploy #deployment_tools

  25. TIL in Dockerfile, if you use ENTRYPOINT executable will mean it won't accept additional arguments while ENTRYPOINT ["executable"] means you can have additional arguments

    #docker #container #dockerfile #dev

  26. My favorite pentesting setup.

    Today i'm setting up the #KaliLinux #Docker #container for my #ansible #playbook. This setup has some pretty cool advantages for me.

    I can:

    • access the shell and files using #SSH and #SFTP.
    • customize the installation to the fullest extend using the #Dockerfile.
    • easily route the #networktraffic through a #vpn using #gluetun.
    • reproduce the setup (i love Docker).
    • use GUI apps from that container using X11Forwarding or by installing a #vnc server.

    This has been my favorite #pentesting setup so far for obvious reasons. I can access a fully configured pentesting environment on all my devices, always accessible and ready to go.

    In case anyone is interested in the setup, it will be included in my ansible playbook, which will be published on this repository.

    #automation #linux #hacking #x11 #homelab #selfhosting

  27. Today i've learned that i don't need coder. I am now deploying an #ubuntu container from a #Dockerfile with an #openssh #server installed. This is a much better setup. Nearly every #Codeeditor supports #ssh workspaces so i'm not limited.

    But the best thing about this setup is that it is very easy to automate using #Ansible.

    I've used the same approach to set up #kali #linux environments months ago and should have stuck with that. It just works.

    #clouddevelopment #clouddeveloperenvironments #docker #programming #coding #selfhosting #homelab #automation #coder

  28. Interesting to see #dagger come out as the prime contender to #dockerfile. I did think #earthlyci was the easier of the bunch.

    Still, pretty cool to see work cross products to help out users move. 😎

    earthly.dev/blog/shutting-down

  29. I found out you can make your own custom #dockerfile syntax. And now I want to make one. 😅 Send help! 🙃

    docs.docker.com/build/buildkit

  30. Recently I have posted a #Dockerfile to run #syslog_ng in an @almalinux container. I got some encouraging feedback, so this week I experimented with syslog-ng #Premium Edition (PE) in a #RHEL #UBI (Universal Base Image) container. #Feedback is welcome!
    syslog-ng.com/community/b/blog

  31. Why does Deploio now offer Dockerfile support? ✅ You'll find out more about it in Tim's latest blog post. ✍️ But first things first and spoiler alert: This feature gives teams and developers more control and customisation options in the deployment process when using Deploio. ⚙️ You can read all about the other benefits of Dockerfiles in the full article on our website at nine.ch/why-we-added-dockerfil. 🔗👈 #deploio #dockerfile #buildpacks #appengine#nine