<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Language migration guides on</title><link>https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/</link><description>Recent content in Language migration guides on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>Copyright (c) 2023 Chainguard</copyright><lastBuildDate>Thu, 16 Jan 2025 18:42:57 +0000</lastBuildDate><atom:link href="https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/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>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>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>