<?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://deploy-preview-3996--ornate-narwhal-088216.netlify.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>Tue, 26 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/tags/migration/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrate a .NET application to Chainguard Containers</title><link>https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/dotnet/</link><pubDate>Wed, 05 Nov 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-tools/image-matcher/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-tools/image-matcher/</guid><description>&lt;p&gt;The &lt;a href="https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/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://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/java/</link><pubDate>Tue, 02 Apr 2024 15:21:01 +0000</pubDate><guid>https://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-tools/find-match/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-tools/find-match/</guid><description>&lt;p&gt;This guide walks through calling the &lt;a href="https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/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://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/node/</link><pubDate>Thu, 09 May 2024 15:56:52 -0700</pubDate><guid>https://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/php/</link><pubDate>Thu, 04 Apr 2024 15:56:52 -0700</pubDate><guid>https://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.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>Migrate a Python application to Chainguard Containers</title><link>https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/python/</link><pubDate>Thu, 02 May 2024 15:06:00 -0700</pubDate><guid>https://deploy-preview-3996--ornate-narwhal-088216.netlify.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://deploy-preview-3996--ornate-narwhal-088216.netlify.app/open-source/wolfi/"&gt;Wolfi&lt;/a&gt;, a &lt;a href="https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/software-security/videos/distroless/"&gt;distroless&lt;/a&gt; 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>