# Language migration guides

URL: https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides.md

Language- or platform-specific tutorials outlining how you can migrate applications to Chainguard Containers.

## Pages

- [Migrate a .NET application to Chainguard Containers](https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/dotnet.md): Learn how to migrate .NET applications from images provided by Microsoft to Chainguard's security-hardened .NET container images.
- [Migrate a Java application to Chainguard Containers](https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/java.md): Learn how to port a Java Dockerfile to Chainguard's Maven, Gradle, JDK, and JRE containers, including a worked Spring Boot example and the differences from the Java images on Docker Hub
- [Migrate a Node.js application to Chainguard Containers](https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/node.md): Learn how to migrate Node.js applications to Chainguard Containers for reduced vulnerabilities, smaller image sizes, and automated security patching
- [Migrate a PHP application to Chainguard Containers](https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/php.md): Learn how to migrate PHP applications to Chainguard Containers for enhanced security, reduced CVEs, and support for both FPM and CLI workloads
- [Migrate a Python application to Chainguard Containers](https://deploy-preview-3996--ornate-narwhal-088216.netlify.app/chainguard/containers/migration/migration-guides/python.md): Learn how to migrate Python applications to Chainguard Containers for enhanced security posture, reduced CVEs, and streamlined dependency management

