podman-desktop/website/docs/migrating-from-docker/customizing-docker-compatibility.md
Shipra Singh 6dba2e3ba8
docs(website): updated the docker compatibility section based on late… (#11803)
* docs(website): updated the docker compatibility section based on latest changes in the UI

Signed-off-by: Shipra Singh <shipsing@redhat.com>

* docs(website): corrected the procedure to enable docker compatibility on macOS

Signed-off-by: Shipra Singh <shipsing@redhat.com>

* docs(website): minor edits

Signed-off-by: Shipra Singh <shipsing@redhat.com>

* docs(website): minor edits

Signed-off-by: Shipra Singh <shipsing@redhat.com>

---------

Signed-off-by: Shipra Singh <shipsing@redhat.com>
2025-04-17 16:32:27 -04:00

7.4 KiB

sidebar_position title description keywords tags
2 Customizing Docker compatibility How to customize the Docker compatibility feature
podman desktop
podman
Docker compatibility
Kubernetes
enable-docker-compatibility
disable-docker-compatibility

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Customizing Docker compatibility

With Podman Desktop, you can customize the Docker compatibility feature. If you want to run your Docker applications on a Podman engine, you can enable the feature.

The binding between the Podman machine and the system socket is not known. So, Podman Desktop displays only the server information on the Docker Compatibility page.

system socket details on Windows

Podman Desktop uses the podman-mac-helper utility to automatically link the Docker socket to the Podman machine. This utility provides a compatibility layer that allows you to:

  • Run Docker commands on a Podman engine.
  • Make your tools, such as Maven or Testcontainers communicate with Podman without reconfiguration.

Podman Desktop provides information about the Podman machine that emulates the Docker socket on the Docker Compatibility page. Click the Podman details icon to view the details of the Podman machine.

system socket details on macOS

The binding between the Podman machine and the system socket is not known. So, Podman Desktop displays only the server information on the Docker Compatibility page.

system socket details on Linux

Enable Docker compatibility

Prerequisites

Procedure

  • Go to Settings > Preferences > Docker Compatibility, and click the toggle button.

A Docker Compatibility section is added to the list of Settings.

Verification

Perform any of the following steps:

  • Run the following command to check the output returns the Podman version rather than the Docker version:

    $ docker info --format=json | jq -r .ServerVersion
    
  • Run the docker context list command to check that the Docker CLI context is set to the default value npipe:////./pipe/docker_engine.

Procedure

The Docker socket compatibility mode is enabled by default. However, if you have disabled the Docker socket and want to re-enable it, you must enable the Third-Party Docker Tool Compatibility setting.

  1. Go to Settings > Preferences > Docker Compatibility, and click the toggle button. enable toggle button - Preferences A Docker Compatibility section is added to the list of Settings.
  2. Click Docker Compatibility in the Settings. The Docker Compatibility page opens.
  3. Click Enable in the Third-Party Docker Tool Compatibility setting.
  4. Enter your machine password when prompted. A successful operation notification opens.
  5. Click OK. A notification prompts you to restart your Podman machine. enable docker compatibility
  6. Click Yes. restart Podman machine

Verification

Perform any of the following steps:

  • Check whether the Docker socket is a symbolic link for the Podman socket:

    $ ls -la /var/run/docker.sock
    

    The output points to a podman.sock file, as shown below:

    /var/run/docker.sock -> /Users/username/.local/share/containers/podman/machine/podman.sock
    
  • Run the following command to check the output returns the Podman version rather than the Docker version:

    $ curl -s --unix-socket /var/run/docker.sock "http://v1.41/info"  | jq -r .ServerVersion
    
  • Run the docker context list command to check that the Docker CLI context is set to unix:///var/run/docker.sock.

Procedure

  • Go to Settings > Preferences > Docker Compatibility, and click the toggle button.

A Docker Compatibility section is added to the list of Settings.

Verification

Perform any of the following steps:

  • Run the following command to check the output returns the Podman version rather than the Docker version:

    $ docker info --format=json | jq -r .ServerVersion
    
  • Run the docker context list command to check that the Docker CLI context is set to the default value unix:///var/run/docker.sock.

Disable Docker compatibility

Prerequisites

Procedure

  • Go to Settings > Preferences > Docker Compatibility, and click the toggle button.

    The Docker Compatibility section is removed from the list of Settings.

Verification

  • Run the following command to check the output returns the Docker version rather than the Podman version:

    $ docker info --format=json | jq -r .ServerVersion
    

Procedure

  1. Click Docker Compatibility in the Settings. The Docker Compatibility page opens.
  2. Click Disable in the Third-Party Docker Tool Compatibility setting.
  3. Enter your machine password when prompted. A successful operation notification opens.
  4. Click OK. A notification prompts you to restart your Podman machine.
  5. Click Yes.
  6. Go to Settings > Preferences > Docker Compatibility, and click the toggle button. The Docker Compatibility section is removed from the Settings list.

Verification

Perform any of the following steps:

  • Check that the Docker socket is not a symbolic link for the Podman socket:

    $ ls -la /var/run/docker.sock
    

    The output returns the following:

    ls: /var/run/docker.sock: No such file or directory
    
  • Run the following command to check the output returns the Docker version rather than the Podman version:

    $ curl -s --unix-socket /var/run/docker.sock "http://v1.41/info"  | jq -r .ServerVersion
    

Procedure

  • Go to Settings > Preferences > Docker Compatibility, and click the toggle button.

    The Docker Compatibility section is removed from the list of Settings.

Verification

  • Run the following command to check the output returns the Docker version rather than the Podman version:

    $ docker info --format=json | jq -r .ServerVersion
    

Additional resources