How to Migrate Docker Containers from Snap to .deb Version on Ubuntu

If you’re running Docker containers on both snap and .deb versions of Docker on your Ubuntu 24.04 Raspberry Pi 4, you might want to consolidate them under the .deb version for simplicity and performance reasons. This guide will walk you through migrating your containers from the snap version to the .deb version, ensuring a smooth transition.

Why Migrate?

Using two separate installations of Docker can complicate management and resource allocation. By consolidating your containers under a single version, you can streamline your workflow, improve system performance, and reduce potential conflicts.

Step-by-Step Migration Guide

1. Verify Installed Docker Versions

First, confirm that both versions of Docker are installed on your system:

# Check the .deb version
docker --version

# Check the snap version
snap list docker

2. List Running Containers

Identify the containers running on the snap version:

# List containers managed by snap Docker
sudo snap run docker ps

3. Export Containers

For each container you want to migrate, export it to a tar file. This step ensures you have a backup of your container data:

# Replace 'container_name' with your actual container name
sudo snap run docker export container_name -o container_name.tar

4. Stop and Remove Snap Containers

After exporting, stop and remove the containers from the snap version:

# Stop the container
sudo snap run docker stop container_name

# Remove the container
sudo snap run docker rm container_name

5. Load Containers into .deb Docker

Now, import the exported containers into the .deb Docker version:

# Load the container into the .deb Docker
docker import container_name.tar new_image_name

6. Run Containers with .deb Docker

Start the containers using the .deb version of Docker. Adjust the docker run command options to match your original container configurations (e.g., ports, volumes, environment variables):

# Run the container with the .deb Docker
docker run --name new_container_name -d new_image_name

7. Uninstall Snap Docker

Once you’ve verified that all containers are running correctly on the .deb version, you can safely remove the snap version of Docker:

# Uninstall snap Docker
sudo snap remove docker

Conclusion

Migrating your Docker containers from the snap version to the .deb version can help you maintain a more organized and efficient system. By following these steps, you can ensure that your containers continue to run smoothly while freeing up system resources previously used by the snap version.

Pro Tip: Always back up your container data before making significant changes to avoid data loss. Testing the migration process with a few containers before moving all of them can also help ensure everything goes smoothly.

By consolidating your Docker installations, you not only improve your system’s performance but also make it easier to manage your containers. Enjoy a more streamlined Docker experience on your Ubuntu setup!