<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Migration on</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/tags/migration/</link><description>Recent content in Migration on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>Copyright (c) 2023 Chainguard</copyright><lastBuildDate>Fri, 02 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/tags/migration/index.xml" rel="self" type="application/rss+xml"/><item><title>Find Chainguard replacements with chainctl images discover</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/images-discover/</link><pubDate>Fri, 02 Oct 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/images-discover/</guid><description>&lt;p&gt;&lt;code&gt;chainctl images discover&lt;/code&gt; reads the image references in a directory, such as a repository checkout, and reports the Chainguard Container that replaces each upstream image. For each replacement, it also tells you whether your organization can pull it today. Use it to size a migration before you start, or to find what&amp;rsquo;s left after one.&lt;/p&gt;
&lt;p&gt;The command only reports. It doesn&amp;rsquo;t edit any files. To get replacements suggested on pull requests as images are introduced, enable &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/guardener/github/image-suggestions/"&gt;Guardener container image suggestions&lt;/a&gt;. To convert a Dockerfile, use the &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/dockerfile-conversion/"&gt;Dockerfile Converter&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Migrate a .NET application to Chainguard Containers</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/dotnet/</link><pubDate>Wed, 05 Nov 2025 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/dotnet/</guid><description>&lt;p&gt;Chainguard&amp;rsquo;s &lt;a href="https://images.chainguard.dev/directory/image/dotnet-sdk/overview?utm_source=cg-academy&amp;amp;utm_medium=referral&amp;amp;utm_campaign=dev-enablement&amp;amp;utm_content=edu-content-chainguard-migration-migrating-dotnet"&gt;.NET container images&lt;/a&gt; provide a security-hardened foundation for building and running applications with significantly fewer vulnerabilities than .NET images provided by Microsoft. Chainguard&amp;rsquo;s .NET container images maintain full .NET compatibility while dramatically reducing the attack surface.&lt;/p&gt;
&lt;p&gt;This guide demonstrates migrating a .NET application from Microsoft&amp;rsquo;s official images to Chainguard&amp;rsquo;s .NET container images by building one application with two different Dockerfiles and comparing the results side by side. This guide also highlights concrete examples of the security improvements resulting from migrating to Chainguard Containers.&lt;/p&gt;</description></item><item><title>Image Matcher overview</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/image-matcher/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/image-matcher/</guid><description>&lt;p&gt;The &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/platform/api/spec-api-v1/#tag/imagematcher"&gt;Chainguard Image Matcher&lt;/a&gt; is an API-based tool that analyzes the software bill of materials (SBOM) of an existing container image and returns a ranked list of Chainguard images that most closely match it. It is designed to support migration workflows where you know what you are running today and want to find the best Chainguard equivalent.&lt;/p&gt;
&lt;h2 id="how-it-works" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;How it works&lt;/span&gt;
&lt;a href="#how-it-works" class="anchor" aria-label="Link to How it works" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;You supply an SBOM for your current image, along with the source Linux distribution. The Image Matcher maps the packages in your SBOM to Chainguard APK packages, scores each candidate Chainguard image based on how well its contents cover your requirements, and returns a ranked list of recommendations with confidence scores.&lt;/p&gt;</description></item><item><title>Migrate a Java application to Chainguard Containers</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/java/</link><pubDate>Tue, 02 Apr 2024 15:21:01 +0000</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/java/</guid><description>&lt;p&gt;Chainguard&amp;rsquo;s Java containers fill the same roles as the Java base images found on Docker Hub, such as &lt;code&gt;eclipse-temurin&lt;/code&gt; and &lt;code&gt;maven&lt;/code&gt;, but are built on &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/open-source/wolfi/"&gt;Wolfi&lt;/a&gt; with a much smaller package set. Chainguard builds its own JDK from source in Wolfi, and rebuilds these containers nightly so security patches land without manual intervention. Porting a Dockerfile takes a handful of changes, mostly around the non-root user and the absent shell, which &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/java/#differences-from-the-java-images-on-docker-hub"&gt;Differences from the Java images on Docker Hub&lt;/a&gt; covers in full. For current CVE data on a specific container and tag, refer to the &lt;a href="https://images.chainguard.dev/directory/image/jre/overview?utm_source=cg-academy&amp;amp;utm_medium=referral&amp;amp;utm_campaign=dev-enablement&amp;amp;utm_content=edu-content-chainguard-migration-migrating-java"&gt;JRE entry in the Chainguard Containers directory&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Find a matching Chainguard image using the API</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/find-match/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/find-match/</guid><description>&lt;p&gt;This guide walks through calling the &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/platform/api/spec-api-v1/#tag/imagematcher"&gt;Chainguard Image Matcher API&lt;/a&gt; to find the best Chainguard equivalent for an existing container image. It assumes you already have an SBOM for the image you want to migrate.&lt;/p&gt;
&lt;p&gt;For background on how the matcher works and how it scores recommendations, refer to &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/image-matcher/"&gt;Image Matcher overview&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="prerequisites" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Prerequisites&lt;/span&gt;
&lt;a href="#prerequisites" class="anchor" aria-label="Link to Prerequisites" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Before getting started, you will need:&lt;/p&gt;</description></item><item><title>Migrate a Node.js application to Chainguard Containers</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/node/</link><pubDate>Thu, 09 May 2024 15:56:52 -0700</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/node/</guid><description>&lt;p&gt;Chainguard&amp;rsquo;s Node.js container images offer a streamlined migration path for applications seeking enhanced security posture through minimal, distroless design. Built on &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/open-source/wolfi/"&gt;Wolfi&lt;/a&gt;, they include only the packages your application needs, which keeps both the attack surface and the image size small. Daily automated builds ensure your applications always have the latest security patches without manual intervention. For current CVE data on each image and tag, see the &lt;a href="https://images.chainguard.dev/directory/image/node/overview?utm_source=cg-academy&amp;amp;utm_medium=referral&amp;amp;utm_campaign=dev-enablement&amp;amp;utm_content=edu-content-chainguard-migration-migrating-node"&gt;Node entry in the Chainguard Containers directory&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Migrate a PHP application to Chainguard Containers</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/php/</link><pubDate>Thu, 04 Apr 2024 15:56:52 -0700</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/php/</guid><description>&lt;p&gt;Chainguard&amp;rsquo;s PHP container images provide enhanced security for PHP applications through minimal, purpose-built images that reduce attack surface. Based on &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/open-source/wolfi/"&gt;Wolfi&lt;/a&gt;, they include only the packages your application needs, while maintaining full compatibility with PHP workloads. Daily automated builds deliver the latest security patches without manual intervention. For current CVE data on each PHP image and tag, see the &lt;a href="https://images.chainguard.dev/directory/image/php/overview?utm_source=cg-academy&amp;amp;utm_medium=referral&amp;amp;utm_campaign=dev-enablement&amp;amp;utm_content=edu-content-chainguard-migration-migrating-php"&gt;PHP entry in the Chainguard Containers directory&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This article will assist you in the process of migrating your existing PHP Dockerfiles to leverage the benefits of Chainguard Containers, including a smaller attack surface and a more secure application footprint.&lt;/p&gt;</description></item><item><title>Guardener container image suggestions</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/guardener/github/image-suggestions/</link><pubDate>Fri, 02 Oct 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/guardener/github/image-suggestions/</guid><description>&lt;p&gt;The container image suggestions feature reviews pull requests that add or change container image references, and recommends the Chainguard Container that replaces each upstream image. Where it can, Guardener includes the replacement as a one-click suggested change.&lt;/p&gt;
&lt;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Guardener is in beta. Available to organizations that have installed and linked the Guardener GitHub App.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/p&gt;
&lt;p&gt;Image suggestions catch upstream images as they are introduced. They don&amp;rsquo;t review the images a repository already uses: only the lines a pull request adds or changes are read. To find replacements for every image in a repository, run &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-tools/images-discover/"&gt;&lt;code&gt;chainctl images discover&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Migrate a Python application to Chainguard Containers</title><link>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/python/</link><pubDate>Thu, 02 May 2024 15:06:00 -0700</pubDate><guid>https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/chainguard/containers/migration/migration-guides/python/</guid><description>&lt;p&gt;Chainguard&amp;rsquo;s Python containers provide a migration path to significantly reduce vulnerabilities in Python applications while maintaining full compatibility with existing workloads. This guide explains how to migrate your containerized Python applications to benefit from Chainguard&amp;rsquo;s enhanced security posture and daily updates.&lt;/p&gt;
&lt;p&gt;Chainguard Containers are built on &lt;a href="https://chainguard-docs-preview-git-tpguardener-image-suggestions-docs.chainguard.app/open-source/wolfi/"&gt;Wolfi&lt;/a&gt;, a distroless Linux distribution designed for security and a reduced attack surface. Chainguard Containers are smaller and have few or no CVEs. Our Chainguard Containers for Python are built nightly for extra freshness, so they&amp;rsquo;re always up-to-date with the latest remediations.&lt;/p&gt;</description></item></channel></rss>