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 PhpStorm 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 PhpStorm 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 PhpStorm or any other Docker client. For example:
Connect to Podman from PhpStorm
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 in the Podman connection list, select the address of the Podman machine.
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
When the connection to Podman could not be established, an error indicating that the Podman executable was found, but the connection to the Podman socket failed is displayed.
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 with a root:
sudo systemctl start podman.socketConfigure the socket to be automatically started after the reboot:
sudo systemctl enable podman.socket