Podman
Podman is a daemonless container manager that can run containers as root or in rootless mode. Podman commands are fully compatible with Docker, so you can replace one with the other: alias docker=podman
.
The core Podman runtime environment can only run on Linux operating systems. However, you can use a remote client for other operating systems to manage containers on the machine running Podman. This topic describes how PyCharm can act as a remote client for Podman.
Enable the Docker plugin
This functionality relies on the Docker plugin, which is bundled and enabled in PyCharm by default. If the relevant features are not available, make sure that you did not disable the plugin.
Press Ctrl+Alt+S to open settings and then select
.Open the Installed tab, find the Docker plugin, and select the checkbox next to the plugin name.
Run Podman
Starting from Podman version 3.2.0, you can use the podman machine
set of commands to run a virtual machine with Podman.
Initialize a new virtual machine:
podman machine init --rootful=trueFor more information, see podman machine init.
Start the Podman virtual machine:
podman machine startFor more information, see podman machine start.
If successful, the output will contain a URL of the Podman API and the DOCKER_HOST
variable with a value that you can use for connecting to Podman from PyCharm or any other Docker client. For example:
Connect to Podman from PyCharm
For information about running Podman, see Run Podman.
Press Ctrl+Alt+S to open settings and then select
.Click to add a Docker configuration.
Select Podman and then select the name of the Podman machine in the Podman connection list.
If everything is correct, you should see Connection successful at the bottom of the page.
For more information, refer to Docker connection settings.
Troubleshoot Podman Linux connection error
If the connection to Podman could not be established, PyCharm shows an error indicating that the Podman executable was found, but the connection to the Podman socket failed.
You can refer to Podman documentation for more details and use the following steps to troubleshoot the issue:
Configure the
systemd
socket to start automatically after a reboot and run as the specified user:systemctl --user enable podman.socket loginctl enable-linger <USER>Start the
systemd
socket for the service as root:sudo systemctl start podman.socketConfigure the socket to be automatically started after the reboot:
sudo systemctl enable podman.socket