# dockerfiles

Published articles for dockerfiles.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Introducing Chainguard OS Packages: Secure ingredients for custom container builds

DevFeed: [Introducing Chainguard OS Packages: Secure ingredients for custom container builds](<https://devfeed.tech/articles/introducing-chainguard-os-packages-secure-ingredients-for-custom-container-builds-13112.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/introducing-chainguard-os-packages>)

Published: 2026-03-17T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard](<https://devfeed.tech/topics/chainguard.md>), [chainguard os](<https://devfeed.tech/topics/chainguard-os.md>), [container images](<https://devfeed.tech/topics/container-images.md>), [Docker Hardened Images](<https://devfeed.tech/topics/docker-hardened-images.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [bazel](<https://devfeed.tech/topics/bazel.md>), [chainguard sboms](<https://devfeed.tech/topics/chainguard-sboms.md>), [APK](<https://devfeed.tech/topics/apk.md>)

Tags: [apk](<https://devfeed.tech/tags/apk.md>), [apko](<https://devfeed.tech/tags/apko.md>), [automation](<https://devfeed.tech/tags/automation.md>), [base-images](<https://devfeed.tech/tags/base-images.md>), [bazel](<https://devfeed.tech/tags/bazel.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [chainguard-os](<https://devfeed.tech/tags/chainguard-os.md>), [chainguard-os-packages](<https://devfeed.tech/tags/chainguard-os-packages.md>), [chainguard-packages](<https://devfeed.tech/tags/chainguard-packages.md>), [chainguard-sboms](<https://devfeed.tech/tags/chainguard-sboms.md>), [container](<https://devfeed.tech/tags/container.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [cve](<https://devfeed.tech/tags/cve.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sboms](<https://devfeed.tech/tags/sboms.md>), [secure-software-packages](<https://devfeed.tech/tags/secure-software-packages.md>), [software-packages](<https://devfeed.tech/tags/software-packages.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [zero-cve-packages](<https://devfeed.tech/tags/zero-cve-packages.md>)

### AI overview

Chainguard introduces Chainguard OS Packages, a service providing continuously maintained, enterprise-grade packages and base images for teams that build custom container images. Customers retain control over image composition and build tooling while Chainguard handles package sourcing, rebuilding, vulnerability remediation, and SBOM generation.

### Source excerpt

Chainguard OS Packages are enterprise-grade, zero-CVE packages and base images built and continuously maintained in the Chainguard Factory.

## Guardener automates migration from legacy Dockerfiles to secure Chainguard container images

DevFeed: [Guardener automates migration from legacy Dockerfiles to secure Chainguard container images](<https://devfeed.tech/articles/meet-guardener-the-intelligent-migration-expert-for-everyone-13154.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/meet-the-guardener>)

Published: 2026-03-17T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [AI Development](<https://devfeed.tech/topics/ai-development.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Security](<https://devfeed.tech/topics/security.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-migration-agents](<https://devfeed.tech/tags/ai-migration-agents.md>), [audit](<https://devfeed.tech/tags/audit.md>), [automation](<https://devfeed.tech/tags/automation.md>), [chainguard-ai-tools](<https://devfeed.tech/tags/chainguard-ai-tools.md>), [chainguard-guardener](<https://devfeed.tech/tags/chainguard-guardener.md>), [chainguard-the-guardener](<https://devfeed.tech/tags/chainguard-the-guardener.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [distroless](<https://devfeed.tech/tags/distroless.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [migration](<https://devfeed.tech/tags/migration.md>), [security](<https://devfeed.tech/tags/security.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

Chainguard introduces Guardener, an AI-native agent that helps engineering teams migrate legacy Dockerfiles to minimal Chainguard container images. It gathers environmental context, rebuilds Dockerfiles layer by layer, tests the results, and provides post-migration insights on image size, CVEs, and filesystem changes.

### Source excerpt

Guardener is an AI-native agent that accelerates engineering teams' adoption of trusted open source artifacts across software development and deployment.

## Native .NET Buildpack Support is Now Available on App Platform

DevFeed: [Native .NET Buildpack Support is Now Available on App Platform](<https://devfeed.tech/articles/native-net-buildpack-support-is-now-available-on-app-platform-19914.md>)

Original publisher: [Read original article](<https://www.digitalocean.com/blog/net-buildpack-support-app-platform>)

Author: Bikram Gupta

Published: 2026-03-05T21:21:25Z

Content type: release

Language: en

Sources: [DigitalOcean](<https://devfeed.tech/sources/digitalocean.md>)

Topics: [Digital Ocean](<https://devfeed.tech/topics/digital-ocean.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Git](<https://devfeed.tech/topics/git.md>), [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [NuGet](<https://devfeed.tech/topics/nuget.md>)

Tags: [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [digitalocean](<https://devfeed.tech/tags/digitalocean.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [dotnet](<https://devfeed.tech/tags/dotnet.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [git](<https://devfeed.tech/tags/git.md>), [net](<https://devfeed.tech/tags/net.md>), [product-updates](<https://devfeed.tech/tags/product-updates.md>), [release](<https://devfeed.tech/tags/release.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

DigitalOcean App Platform now supports native .NET buildpacks, allowing developers to deploy .NET applications from Git repositories without maintaining Dockerfiles. The platform detects the project, selects the SDK version, restores dependencies, and builds the application for production.

### Source excerpt

The .NET ecosystem continues to power a significant share of enterprise and cloud-native applications, from web APIs and microservices to full-stack applications built with ASP.NET Core. Developers building with C#, F#, and Visual Basic need a deployment experience that matches the productivity of the framework itself: push code, and let the platform handle the rest. Today, we're excited to announce native .NET buildpack support on DigitalOcean App Platform. You can now deploy your .NET applications directly from a Git repository without writing or maintaining Dockerfiles. App Platform automatically detects your .NET project, installs the correct SDK version, and builds your application for production. Benefits Zero Configuration: Push your .NET code to a Git repository, and App Platform handles runtime detection, SDK installation, and build configuration automatically--no Dockerfile required. Multi-Language Support: Build applications in C#, Visual Basic, or F# using the .NET and ASP.NET Core frameworks, all with the same streamlined deployment experience. Automatic SDK Management: App Platform selects the appropriate .NET SDK version based on your project's TargetFramework or global.json configuration, supporting .NET 8.0, 9.0, and 10.0. Production-Ready Defaults: The buildpack compiles with the Release configuration by default and automatically detects ASP.NET Core web applications to configure the correct process type. How Detection Works Once you connect your Git repository, App Platform identifies your application as a .NET project by looking for specific files in your repository root. App Platform confirms a .NET application if it detects any of the following: Solution files: *.sln, *.slnx Project files: *.csproj, *.vbproj, *.fsproj File-based apps: *.cs Once detected, the buildpack takes over: SDK Detection: Determines the required .NET SDK version from your TargetFramework property or global.json file Dependency Restore: Runs dotnet restore to fetch NuGet pa

## Be my base image: Introducing Linky's Matchmaker

DevFeed: [Be my base image: Introducing Linky's Matchmaker](<https://devfeed.tech/articles/be-my-base-image-introducing-linky-s-matchmaker-12896.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/be-my-base-image-introducing-linkys-matchmaker>)

Published: 2026-02-12T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [chainguard containers](<https://devfeed.tech/topics/chainguard-containers.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [App](<https://devfeed.tech/topics/app.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [base-images](<https://devfeed.tech/tags/base-images.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [chainguard-valentine-s-day](<https://devfeed.tech/tags/chainguard-valentine-s-day.md>), [comparisons](<https://devfeed.tech/tags/comparisons.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [containers](<https://devfeed.tech/tags/containers.md>), [dockerfile-converter](<https://devfeed.tech/tags/dockerfile-converter.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [images](<https://devfeed.tech/tags/images.md>), [secure-by-default](<https://devfeed.tech/tags/secure-by-default.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

Linky's Matchmaker is a web-based app that analyzes Dockerfiles, recommends compatible Chainguard Containers, and generates downloadable converted Dockerfiles. It also provides image availability checks, documentation and tag links, and vulnerability comparisons.

### Source excerpt

Linky's Matchmaker converts your Dockerfile to Chainguard Containers, recommending secure, minimal base images and generating an updated file in minutes

## New Chainguard Academy Course: Getting Started with Chainguard's Dockerfile Converter

DevFeed: [New Chainguard Academy Course: Getting Started with Chainguard's Dockerfile Converter](<https://devfeed.tech/articles/new-chainguard-academy-course-getting-started-with-chainguard-s-dockerfile-converter-13169.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/new-chainguard-academy-course-getting-started-with-chainguards-dockerfile-converter>)

Published: 2025-07-25T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [dockerfile converter](<https://devfeed.tech/topics/dockerfile-converter.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [chainguard containers](<https://devfeed.tech/topics/chainguard-containers.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>)

Tags: [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-academy](<https://devfeed.tech/tags/chainguard-academy.md>), [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [containers](<https://devfeed.tech/tags/containers.md>), [course](<https://devfeed.tech/tags/course.md>), [dockerfile-converter](<https://devfeed.tech/tags/dockerfile-converter.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [secure-container-images](<https://devfeed.tech/tags/secure-container-images.md>), [zero-cve-containers](<https://devfeed.tech/tags/zero-cve-containers.md>)

### AI overview

Chainguard Academy has launched a hands-on course that teaches developers and DevOps teams how to use Chainguard's Dockerfile Converter to convert existing Dockerfiles into secure, minimal Chainguard container images. The course covers installation, Dockerfile instruction handling, customization, advanced usage, and best practices.

### Source excerpt

Discover how to use Chainguard's new Dockerfile Converter tool to close the gap between legacy Dockerfiles and secure containers in our new course.

## Announcing Dockerfile Converter: Fast and Easy Migration to Use Chainguard Containers

DevFeed: [Announcing Dockerfile Converter: Fast and Easy Migration to Use Chainguard Containers](<https://devfeed.tech/articles/announcing-dockerfile-converter-fast-and-easy-migration-to-use-chainguard-containers-12884.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/announcing-dockerfile-converter-fast-and-easy-migration-to-use-chainguard-containers>)

Published: 2025-05-01T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard containers](<https://devfeed.tech/topics/chainguard-containers.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [cli](<https://devfeed.tech/tags/cli.md>), [containers](<https://devfeed.tech/tags/containers.md>), [debian](<https://devfeed.tech/tags/debian.md>), [dockerfile-converter](<https://devfeed.tech/tags/dockerfile-converter.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [migration](<https://devfeed.tech/tags/migration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [redhat-ubi](<https://devfeed.tech/tags/redhat-ubi.md>)

### AI overview

Chainguard announces Dockerfile Converter, an open source CLI tool that helps developers migrate Dockerfiles to Chainguard Containers. It automates parts of the conversion process, reducing manual effort, configuration mistakes, and troubleshooting during adoption across teams. The local tool operates offline and converts image and package references, users, syntax differences, and entry points for the Chainguard ecosystem.

### Source excerpt

Dockerfile Converter is a new open source tool designed to reduce the manual toil engineers go through when migrating to Chainguard Containers.

## Efficient Dockerfile templating for complex build scenarios

DevFeed: [Efficient Dockerfile templating for complex build scenarios](<https://devfeed.tech/articles/efficient-dockerfile-templating-for-complex-build-scenarios-27715.md>)

Original publisher: [Read original article](<https://gagor.pro/2025/01/efficient-dockerfile-templating-for-complex-build-scenarios/>)

Author: Tom

Published: 2025-01-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Docker Image](<https://devfeed.tech/topics/docker-image.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [alpine](<https://devfeed.tech/tags/alpine.md>), [base-images](<https://devfeed.tech/tags/base-images.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [build](<https://devfeed.tech/tags/build.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [devops](<https://devfeed.tech/tags/devops.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-base-images](<https://devfeed.tech/tags/docker-base-images.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [go](<https://devfeed.tech/tags/go.md>), [infra](<https://devfeed.tech/tags/infra.md>), [java](<https://devfeed.tech/tags/java.md>), [linux](<https://devfeed.tech/tags/linux.md>), [scm](<https://devfeed.tech/tags/scm.md>), [sre](<https://devfeed.tech/tags/sre.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

This article explains why Dockerfile templating can help maintain complex Docker base-image variants. It discusses combinations of operating systems, Tomcat versions, Java versions, configurations, and package names, along with the differing responsibilities of development and infrastructure teams.

### Source excerpt

Why even consider templating Dockerfiles? Dockerfiles revolutionized the industry with their simplicity. Each instruction creates a new layer in the image, which is automatically cached. This process integrates well with SCM, where you "commit" the results of one stage and move forward with other changes. The process can be easily parameterized with ARG instructions, similar to ENV but provided during the build. This allows for creating highly flexible builds. For most users, this is more than sufficient. However, there's a notable exception: Docker base images.

## How to transition to secure container images with new migration guides

DevFeed: [How to transition to secure container images with new migration guides](<https://devfeed.tech/articles/how-to-transition-to-secure-container-images-with-new-migration-guides-13096.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/how-to-transition-to-secure-container-images-with-new-migration-guides>)

Published: 2024-05-22T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [migration](<https://devfeed.tech/topics/migration.md>), [container images](<https://devfeed.tech/topics/container-images.md>), [container-security](<https://devfeed.tech/topics/container-security.md>), [APK](<https://devfeed.tech/topics/apk.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Zsh](<https://devfeed.tech/topics/zsh.md>), [Debian](<https://devfeed.tech/topics/debian.md>)

Tags: [and-best-practices](<https://devfeed.tech/tags/and-best-practices.md>), [apk](<https://devfeed.tech/tags/apk.md>), [base-images](<https://devfeed.tech/tags/base-images.md>), [bash](<https://devfeed.tech/tags/bash.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [build](<https://devfeed.tech/tags/build.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [container](<https://devfeed.tech/tags/container.md>), [container-based-application](<https://devfeed.tech/tags/container-based-application.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [container-security](<https://devfeed.tech/tags/container-security.md>), [container-security-strategy](<https://devfeed.tech/tags/container-security-strategy.md>), [cves](<https://devfeed.tech/tags/cves.md>), [debian](<https://devfeed.tech/tags/debian.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [docker-hub-image](<https://devfeed.tech/tags/docker-hub-image.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [guides](<https://devfeed.tech/tags/guides.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [image-migration](<https://devfeed.tech/tags/image-migration.md>), [migration](<https://devfeed.tech/tags/migration.md>), [migration-guides](<https://devfeed.tech/tags/migration-guides.md>), [python-image](<https://devfeed.tech/tags/python-image.md>), [secure-container-image](<https://devfeed.tech/tags/secure-container-image.md>), [secure-container-images](<https://devfeed.tech/tags/secure-container-images.md>)

### AI overview

This guide explains how to migrate container images to Chainguard Images for smaller image sizes, fewer vulnerabilities, and continuous maintenance. It covers using -dev images for shells and package managers, installing bash or zsh when needed, searching for packages with apk, and adapting Dockerfiles and entrypoint scripts.

### Source excerpt

Struggling to adopt secure container images? Our new migration guides provide step-by-step instructions and best practices for a smooth transition.

## How old are Official Docker images? 2024 Edition

DevFeed: [How old are Official Docker images? 2024 Edition](<https://devfeed.tech/articles/how-old-are-official-docker-images-2024-edition-27702.md>)

Original publisher: [Read original article](<https://gagor.pro/2024/03/how-old-are-official-docker-images-2024-edition/>)

Author: Tom

Published: 2024-03-24T00:00:00Z

Content type: article

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [docker images](<https://devfeed.tech/topics/docker-images.md>), [Docker Hub](<https://devfeed.tech/topics/docker-hub.md>), [centos](<https://devfeed.tech/topics/centos.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Script](<https://devfeed.tech/topics/script.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [centos](<https://devfeed.tech/tags/centos.md>), [centos-docker-image](<https://devfeed.tech/tags/centos-docker-image.md>), [debian](<https://devfeed.tech/tags/debian.md>), [debian-docker-image](<https://devfeed.tech/tags/debian-docker-image.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-hub](<https://devfeed.tech/tags/docker-hub.md>), [docker-image-age](<https://devfeed.tech/tags/docker-image-age.md>), [docker-image-updates](<https://devfeed.tech/tags/docker-image-updates.md>), [docker-images](<https://devfeed.tech/tags/docker-images.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [eclipse](<https://devfeed.tech/tags/eclipse.md>), [end-of-life](<https://devfeed.tech/tags/end-of-life.md>), [images](<https://devfeed.tech/tags/images.md>), [official-docker-images](<https://devfeed.tech/tags/official-docker-images.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [script](<https://devfeed.tech/tags/script.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [ubuntu-docker-image](<https://devfeed.tech/tags/ubuntu-docker-image.md>)

### AI overview

An analysis of the age and update status of official Docker images in 2024. It reports that modern OS images are generally reasonably current, while CentOS and OpenJDK images have reached important lifecycle or maintenance milestones.

### Source excerpt

Discover the current age and update status of various official Docker images, including CentOS, Ubuntu, and Debian, in the 2024 edition of this analysis.

## Best practices for writing Dockerfiles - Follow "Filesystem Hierarchy Standard"

DevFeed: [Best practices for writing Dockerfiles - Follow "Filesystem Hierarchy Standard"](<https://devfeed.tech/articles/best-practices-for-writing-dockerfiles-follow-filesystem-hierarchy-standard-27701.md>)

Original publisher: [Read original article](<https://gagor.pro/2024/03/best-practices-for-writing-dockerfiles-follow-filesystem-hierarchy-standard/>)

Author: Tom

Published: 2024-03-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [Docker Image](<https://devfeed.tech/topics/docker-image.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [containers](<https://devfeed.tech/tags/containers.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-container-maintainability](<https://devfeed.tech/tags/docker-container-maintainability.md>), [docker-image](<https://devfeed.tech/tags/docker-image.md>), [docker-image-organization](<https://devfeed.tech/tags/docker-image-organization.md>), [dockerfile-best-practices](<https://devfeed.tech/tags/dockerfile-best-practices.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [fhs-guidelines](<https://devfeed.tech/tags/fhs-guidelines.md>), [filesystem-hierarchy-standard](<https://devfeed.tech/tags/filesystem-hierarchy-standard.md>), [linux](<https://devfeed.tech/tags/linux.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [volumes](<https://devfeed.tech/tags/volumes.md>)

### AI overview

This tutorial explains how to organize Docker images according to the Filesystem Hierarchy Standard. It covers locations for scripts, binaries, Java artifacts, web content, and temporary or writable files, recommending volumes for files that containers must write.

### Source excerpt

Learn best practices for writing Dockerfiles by following the Filesystem Hierarchy Standard (FHS) to enhance organization and maintainability of your Docker images.

## netlab 1.8.0: Control-Plane Daemons, BIRD, dnsmasq

DevFeed: [netlab 1.8.0: Control-Plane Daemons, BIRD, dnsmasq](<https://devfeed.tech/articles/netlab-1-8-0-control-plane-daemons-bird-dnsmasq-10963.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2024/03/netlab-1-8-0-daemons-bird/>)

Published: 2024-03-04T07:25:00Z

Content type: release

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [networking](<https://devfeed.tech/topics/networking.md>), [BGP](<https://devfeed.tech/topics/bgp.md>), [DHCP](<https://devfeed.tech/topics/dhcp.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Cisco](<https://devfeed.tech/topics/cisco.md>)

Tags: [bgp](<https://devfeed.tech/tags/bgp.md>), [cisco](<https://devfeed.tech/tags/cisco.md>), [container](<https://devfeed.tech/tags/container.md>), [container-image](<https://devfeed.tech/tags/container-image.md>), [dhcp](<https://devfeed.tech/tags/dhcp.md>), [docker](<https://devfeed.tech/tags/docker.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [netlab](<https://devfeed.tech/tags/netlab.md>), [networking](<https://devfeed.tech/tags/networking.md>), [ospf](<https://devfeed.tech/tags/ospf.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

This release article describes netlab 1.8.0, which adds control-plane daemon support through BIRD for OSPF and BGP and dnsmasq for DHCP. It also explains building required BIRD container images with Dockerfiles and the netlab clab build command, and lists additional networking, validation, configuration, and startup features.

### Source excerpt

I wanted to include open-source networking-related software into netlab topologies since (at least) the days I was writing the DHCP relaying saga. It turned out to be a bit more complex than I anticipated (more about that in another blog post), but I hope you'll find it useful. netlab release 1.8.0 includes dnsmasq running as a DHCP server and BIRD running OSPF and BGP. ExaBGP and GoBGP are already on the wish list; if you have any other ideas, please start a GitHub discussion. I had a hard time finding reasonable container images for BIRD; the BIRD team does not publish them, and everything else I found looked either abandoned or a hobby project. The solution turned out to be exceedingly simple: you cannot run the containers without Docker anyway, which means the docker build command is just a few keystrokes away. I added Dockerfiles needed to build those containers to the netlab source code and implemented the netlab clab build command as a thin wrapper around docker build. It takes just a few seconds (plus the time it takes to download the Ubuntu container image) to build the containers you need. Read more ...

## Automatic updates of Docker images with Renovate Bot

DevFeed: [Automatic updates of Docker images with Renovate Bot](<https://devfeed.tech/articles/automatic-updates-of-docker-images-with-renovate-bot-27699.md>)

Original publisher: [Read original article](<https://gagor.pro/2024/03/automatic-updates-of-docker-images-with-renovate-bot/>)

Author: Tom

Published: 2024-03-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [renovate](<https://devfeed.tech/topics/renovate.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [automate-docker-updates](<https://devfeed.tech/tags/automate-docker-updates.md>), [bash](<https://devfeed.tech/tags/bash.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [developers](<https://devfeed.tech/tags/developers.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-best-practices](<https://devfeed.tech/tags/devops-best-practices.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-image-updates](<https://devfeed.tech/tags/docker-image-updates.md>), [docker-security](<https://devfeed.tech/tags/docker-security.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [renovate-bot](<https://devfeed.tech/tags/renovate-bot.md>), [renovate-vs-dependabot](<https://devfeed.tech/tags/renovate-vs-dependabot.md>), [security](<https://devfeed.tech/tags/security.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

A practical guide to automating Docker image and dependency updates with Renovate Bot. It explains how Renovate detects parent image changes, tracks binaries downloaded from sources such as GitHub or Maven, and uses custom comments and configuration to identify dependencies and propose or automatically merge updates.

### Source excerpt

Learn how to automate Docker image updates using Renovate Bot, a versatile tool that supports various package managers and custom dependency links.

## Building minimal and low CVE images for compiled languages

DevFeed: [Building minimal and low CVE images for compiled languages](<https://devfeed.tech/articles/building-minimal-and-low-cve-images-for-compiled-languages-12906.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/building-minimal-and-low-cve-images-for-compiled-languages>)

Published: 2024-02-27T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Docker Hub](<https://devfeed.tech/topics/docker-hub.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [compiled-language](<https://devfeed.tech/tags/compiled-language.md>), [containers](<https://devfeed.tech/tags/containers.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [distroless](<https://devfeed.tech/tags/distroless.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-hub](<https://devfeed.tech/tags/docker-hub.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [dockerhub](<https://devfeed.tech/tags/dockerhub.md>), [go](<https://devfeed.tech/tags/go.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

This article demonstrates how to build smaller, lower-CVE container images for compiled languages by separating build and runtime concerns and replacing full Debian or Ubuntu bases with Chainguard Images. A Go web server example reduces the image from 892 MB to 775 MB and eliminates the reported CVEs after a one-line base-image change.

### Source excerpt

Leverage Chainguard's insights to forge low-CVE, compact images for compiled languages, boosting your security posture.

## Keep your Chainguard Images up to date with digestabot

DevFeed: [Keep your Chainguard Images up to date with digestabot](<https://devfeed.tech/articles/keep-your-chainguard-images-up-to-date-with-digestabot-13134.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/keep-your-chainguard-images-up-to-date-with-digestabot>)

Published: 2023-12-18T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [also](<https://devfeed.tech/tags/also.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [container](<https://devfeed.tech/tags/container.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [digestabot](<https://devfeed.tech/tags/digestabot.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [github-action](<https://devfeed.tech/tags/github-action.md>), [helm](<https://devfeed.tech/tags/helm.md>), [make](<https://devfeed.tech/tags/make.md>), [merge](<https://devfeed.tech/tags/merge.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [security](<https://devfeed.tech/tags/security.md>), [vulnerability-automation](<https://devfeed.tech/tags/vulnerability-automation.md>), [vulnerability-management](<https://devfeed.tech/tags/vulnerability-management.md>)

### AI overview

Chainguard's digestabot is a free GitHub Action that helps keep Chainguard Images and other container assets current. It detects outdated image digests, opens pull requests, and supports testing and secure updates through continuous integration and optional ephemeral OIDC tokens.

### Source excerpt

Experience hassle-free updates with Chainguard's digestabot, ensuring your Images stay secure and up-to-date daily.

## Buildpacks - 3 months later

DevFeed: [Buildpacks - 3 months later](<https://devfeed.tech/articles/buildpacks-3-months-later-32275.md>)

Original publisher: [Read original article](<https://domenicoluciani.com/2023/11/16/buildpacks-3-months-later.html>)

Author: Domenico Luciani

Published: 2023-11-15T23:00:00Z

Content type: opinion

Language: en

Sources: [Domenico Luciani](<https://devfeed.tech/sources/domenico-luciani.md>)

Topics: [Buildpacks](<https://devfeed.tech/topics/buildpacks.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Cloud Native Ecosystem](<https://devfeed.tech/topics/cloud-native-ecosystem.md>)

Tags: [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [cloud-native](<https://devfeed.tech/tags/cloud-native.md>), [container-image](<https://devfeed.tech/tags/container-image.md>), [containers](<https://devfeed.tech/tags/containers.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [oci](<https://devfeed.tech/tags/oci.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [optimize](<https://devfeed.tech/tags/optimize.md>), [use-cases](<https://devfeed.tech/tags/use-cases.md>)

### AI overview

The author recounts spending three months on VMware's CNB--Cloud Native Buildpacks--team through the company's Take3 initiative. The article explains that Buildpacks turn source code into OCI-compliant container images, manage dependencies and runtimes, and use separate layers that can be updated independently.

### Source excerpt

Since the beginning of my career in this industry, I've always been fascinated by the open-source world. After so many years of contributing on my own, this year, I finally joined...

## Chainguard's image tagging philosophy: enabling high velocity updates (pt. 1 of 3)

DevFeed: [Chainguard's image tagging philosophy: enabling high velocity updates (pt. 1 of 3)](<https://devfeed.tech/articles/chainguard-s-image-tagging-philosophy-enabling-high-velocity-updates-pt-1-of-3-12988.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/chainguards-image-tagging-philosophy-enabling-high-velocity-updates-pt-1-of-3>)

Published: 2023-11-13T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [container-image](<https://devfeed.tech/tags/container-image.md>), [cve](<https://devfeed.tech/tags/cve.md>), [distro](<https://devfeed.tech/tags/distro.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [github](<https://devfeed.tech/tags/github.md>), [image-tagging](<https://devfeed.tech/tags/image-tagging.md>), [series](<https://devfeed.tech/tags/series.md>), [software-security-practices](<https://devfeed.tech/tags/software-security-practices.md>), [velocity](<https://devfeed.tech/tags/velocity.md>)

### AI overview

Part 1 explains Chainguard's image-tagging philosophy for delivering fast updates while keeping image identities clear and usable. It describes epoch-based package revisions, vulnerability fixes, and how updates to packages within multi-package images can be delivered without changing the upstream version.

### Source excerpt

Explore Part 1 of Chainguard's image tagging philosophy series, focusing on enabling high-velocity updates.

## Unlocking efficiency and security on GitLab: On-demand images with 0-CVE packages powered by Wolfi

DevFeed: [Unlocking efficiency and security on GitLab: On-demand images with 0-CVE packages powered by Wolfi](<https://devfeed.tech/articles/unlocking-efficiency-and-security-on-gitlab-on-demand-images-with-0-cve-packages-powered-by-wolfi-13305.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/unlocking-efficiency-and-security-on-gitlab-on-demand-images-with-0-cve-packages-powered-by-wolfi>)

Published: 2023-10-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [GitLab](<https://devfeed.tech/topics/gitlab.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cicd](<https://devfeed.tech/tags/cicd.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [containers](<https://devfeed.tech/tags/containers.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [security](<https://devfeed.tech/tags/security.md>), [wolfi](<https://devfeed.tech/tags/wolfi.md>)

### AI overview

This tutorial explains how to integrate the wolfi-act project with GitLab CI/CD, focusing on Docker and Kubernetes executors and on-demand images with 0-CVE packages powered by Wolfi.

### Source excerpt

Experience secure, efficient GitLab operations with 0-CVE on-demand images, fueled by Wolfi OS.

## How to use Dockerfiles with wolfi-base images

DevFeed: [How to use Dockerfiles with wolfi-base images](<https://devfeed.tech/articles/how-to-use-dockerfiles-with-wolfi-base-images-13097.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/how-to-use-dockerfiles-with-wolfi-base-images>)

Published: 2023-09-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [distroless](<https://devfeed.tech/topics/distroless.md>), [container images](<https://devfeed.tech/topics/container-images.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Go](<https://devfeed.tech/topics/go.md>)

Tags: [apko](<https://devfeed.tech/tags/apko.md>), [base-images](<https://devfeed.tech/tags/base-images.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [distroless](<https://devfeed.tech/tags/distroless.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-hub](<https://devfeed.tech/tags/docker-hub.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [go](<https://devfeed.tech/tags/go.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [melange](<https://devfeed.tech/tags/melange.md>), [wolfi](<https://devfeed.tech/tags/wolfi.md>)

### AI overview

This tutorial explains how to use Dockerfiles with Chainguard wolfi-base and other Chainguard Images. It covers minimal static images, glibc-dynamic images, multi-stage builds, package management, and selecting image variants based on application dependencies and runtime needs.

### Source excerpt

Your guide to leveraging Dockerfiles with Wolfi-base images for hardened container images.

## Alternatives to Dockerfiles for Crafting Container Images

DevFeed: [Alternatives to Dockerfiles for Crafting Container Images](<https://devfeed.tech/articles/move-over-dockerfiles-the-new-way-to-craft-containers-13166.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/move-over-dockerfiles-the-new-way-to-craft-containers>)

Published: 2023-04-27T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Containers](<https://devfeed.tech/topics/containers.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [containers](<https://devfeed.tech/tags/containers.md>), [docker](<https://devfeed.tech/tags/docker.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [security](<https://devfeed.tech/tags/security.md>), [security-vulnerabilities](<https://devfeed.tech/tags/security-vulnerabilities.md>), [vulnerability-management](<https://devfeed.tech/tags/vulnerability-management.md>)

### AI overview

This article examines drawbacks of Dockerfiles for building container images, including security concerns, performance issues, image bloat, and reliance on online build services. It surveys alternatives such as ko, Bazel, Nix, and apko, comparing their strengths and weaknesses and discussing how to choose and migrate to an approach.

### Source excerpt

Creating Docker images can sometimes be a pain. Here are alternatives for crafting containers, like ko, Bazel, Nix, and apko, and their strengths and weaknesses

## Docker Best Practices - Use VOLUME for temporary and mutable files

DevFeed: [Docker Best Practices - Use VOLUME for temporary and mutable files](<https://devfeed.tech/articles/docker-best-practices-use-volume-for-temporary-and-mutable-files-27676.md>)

Original publisher: [Read original article](<https://gagor.pro/2022/09/docker-best-practices-use-volume-for-temporary-and-mutable-files/>)

Author: Tom

Published: 2022-09-12T00:00:00Z

Content type: article

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-container-performance](<https://devfeed.tech/tags/docker-container-performance.md>), [docker-image-maintenance](<https://devfeed.tech/tags/docker-image-maintenance.md>), [docker-image-optimization](<https://devfeed.tech/tags/docker-image-optimization.md>), [docker-volume-usage](<https://devfeed.tech/tags/docker-volume-usage.md>), [dockerfile-best-practices](<https://devfeed.tech/tags/dockerfile-best-practices.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [performance](<https://devfeed.tech/tags/performance.md>), [temporary-file-locations-docker](<https://devfeed.tech/tags/temporary-file-locations-docker.md>), [volume](<https://devfeed.tech/tags/volume.md>), [volumes](<https://devfeed.tech/tags/volumes.md>)

### AI overview

The article recommends using Dockerfile VOLUME declarations for temporary and mutable file locations. It explains that volumes are separate from layered image filesystems, can improve performance, and help keep images clean, while noting that unused anonymous volumes require periodic cleanup.

### Source excerpt

Learn best practices for writing Dockerfiles by using VOLUME for all mutable, temporary file locations to enhance performance and maintain cleaner images.

## Docker Best Practices - Use .dockerignore

DevFeed: [Docker Best Practices - Use .dockerignore](<https://devfeed.tech/articles/docker-best-practices-use-dockerignore-27675.md>)

Original publisher: [Read original article](<https://gagor.pro/2022/09/docker-best-practices-use-.dockerignore/>)

Author: Tom

Published: 2022-09-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [build](<https://devfeed.tech/tags/build.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-build-context](<https://devfeed.tech/tags/docker-build-context.md>), [docker-build-optimization](<https://devfeed.tech/tags/docker-build-optimization.md>), [docker-image-efficiency](<https://devfeed.tech/tags/docker-image-efficiency.md>), [dockerfile-best-practices](<https://devfeed.tech/tags/dockerfile-best-practices.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [dockerignore-usage](<https://devfeed.tech/tags/dockerignore-usage.md>), [exclude-files-docker](<https://devfeed.tech/tags/exclude-files-docker.md>)

### AI overview

This tutorial explains that Docker uploads the entire build context to the Docker daemon during an image build. It recommends using a .dockerignore file to exclude unnecessary sources, test results, and other working-directory files, which can help reduce build times.

### Source excerpt

Learn best practices for writing Dockerfiles by using .dockerignore to optimize build times and exclude unnecessary files from the build context.

## Dockerfile writing best practices

DevFeed: [Dockerfile writing best practices](<https://devfeed.tech/articles/dockerfile-writing-best-practices-27677.md>)

Original publisher: [Read original article](<https://gagor.pro/2022/09/dockerfile-writing-best-practices/>)

Author: Tom

Published: 2022-09-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [docker images](<https://devfeed.tech/topics/docker-images.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-container-security](<https://devfeed.tech/tags/docker-container-security.md>), [docker-image-maintenance](<https://devfeed.tech/tags/docker-image-maintenance.md>), [docker-image-optimization](<https://devfeed.tech/tags/docker-image-optimization.md>), [docker-multi-stage-builds](<https://devfeed.tech/tags/docker-multi-stage-builds.md>), [docker-volume-usage](<https://devfeed.tech/tags/docker-volume-usage.md>), [dockerfile-best-practices](<https://devfeed.tech/tags/dockerfile-best-practices.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [how-to](<https://devfeed.tech/tags/how-to.md>)

### AI overview

The article introduces a planned series on Dockerfile writing best practices, based on the author's experience preparing containers for company applications. Planned topics include .dockerignore, filesystem standards, package cleanup, volumes, non-root execution, multi-stage builds, image labels, security scanning, and build cache.

### Source excerpt

Learn best practices for writing Dockerfiles to create efficient, secure, and maintainable Docker images, based on real-world experience and insights.

## Treating Dockerfiles as shell scripts

DevFeed: [Treating Dockerfiles as shell scripts](<https://devfeed.tech/articles/treating-dockerfiles-as-shell-scripts-20980.md>)

Original publisher: [Read original article](<https://jakewharton.com/treating-dockerfiles-as-shell-scripts/>)

Published: 2020-12-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [chmod](<https://devfeed.tech/tags/chmod.md>), [containers](<https://devfeed.tech/tags/containers.md>), [docker](<https://devfeed.tech/tags/docker.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [tools](<https://devfeed.tech/tags/tools.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

The article presents a utility that lets executable Dockerfiles behave like shell scripts. A shebang invokes a helper that conditionally runs docker build and then docker run, improving the edit-and-run workflow for containerized tools.

### Source excerpt

I use Docker to run a lot of tools. With the tools all wrapped up in containers, my computers are free of Python and Go and the various other dependencies needed for their use. While this is a nice win for isolation and reproducibility, the user experience is sub-par. To run a tool, I just use docker run: $ docker run --rm tool arguments... But the editing workflow is something like: $ nano tool.dockerfile # hack hack hack... $ docker build -t tool - < tool.dockerfile $ docker run --rm tool arguments... I also use a lot of bash scripts with easy-to-remember names. To run a script I just type its name: ./update_containers.sh. To edit, I open it in an editor, save, and then run. The user experience of this is top-notch! Can we combine the two? Executable Dockerfiles If the first line of an executable starts with #!, unix-y systems will treat what follows on that line as an executable for interpreting the rest of the file. This is called the shebang, and the bash scripts I use start with one: #!/usr/bin/env bash. In order to do this with a Dockerfile, though, we need a program which will conditionally run docker build and then docker run the resulting image. Thankfully docker build is already conditional and won't rebuild anything unless necessary, so we can always run it. #!/usr/bin/env bash NAME=$(basename "$1") docker build -t "$NAME" - < "$1" > /dev/null shift # Remove script name from arguments docker run --rm --name "$NAME" "$NAME" "$@" With this saved as dockerfile-shebang.sh, we can add it as the shebang in a Dockerfile. #!/path/to/dockerfile-shebang.sh FROM alpine:latest ENTRYPOINT ["echo"] Saving this as echo.dockerfile and running chmod +x echo.dockerfile provides the user experience we're after: $ ./echo.dockerfile Hello, world! Hello, world! It's Dockerfile-Shebang! I have wrapped up this utility into an executable, dockerfile-shabang. You can find it at github.com/JakeWharton/dockerfile-shebang. The implementation is a bit more complicated than above for

## Portable Development Environment With Docker and IntelliJ

DevFeed: [Portable Development Environment With Docker and IntelliJ](<https://devfeed.tech/articles/portable-development-environment-with-docker-and-intellij-17703.md>)

Original publisher: [Read original article](<https://nexocode.com/blog/posts/portable-development-with-docker/>)

Author: mateusz-joniak

Published: 2018-10-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Backend Development on nexocode](<https://devfeed.tech/sources/backend-development-on-nexocode.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Development](<https://devfeed.tech/topics/development.md>), [virtualization](<https://devfeed.tech/topics/virtualization.md>), [ide](<https://devfeed.tech/topics/ide.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [development](<https://devfeed.tech/tags/development.md>), [docker](<https://devfeed.tech/tags/docker.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [ide](<https://devfeed.tech/tags/ide.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [software](<https://devfeed.tech/tags/software.md>), [virtualization](<https://devfeed.tech/tags/virtualization.md>)

### AI overview

This tutorial explains how Docker can create portable development environments by packaging an application with its dependencies, configuration files, tools, and runtime. It describes Docker images and Dockerfiles, and presents using the same image across developer workstations and production to reduce configuration differences and deployment surprises.

### Source excerpt

For many developers, managing the environment required to work productively is a quite tedious task. Sure, the IDE does the lion's share of preparations for you. But still, you need to install a specific version of the database, then make sure you have the right compiler and runtime environment. In some cases, you would also have to work on a given version of the operating system. Gods help you if you find yourself in the hell of "hidden" dependencies, like libraries you're supposed to have installed separately. Configuring all of this takes hours, so forget about first-day productivity, and if you fail, all you're going to get are some cryptic error messages that you have to type into Google. Sounds familiar?

[Next page](<https://devfeed.tech/tags/dockerfiles.md?cursor=WyIyMDE4LTEwLTE1VDAwOjAwOjAwKzAwOjAwIiwgImZiNDJhOTEzLTA2MTgtNDY2Yy05YWFkLTMwZDM5MTMxOTJiZiJd>)