liveBook · Manning

Remote Podman client

As explained in Podman in Action: Secure, rootless containers for Kubernetes, microservices, and more

A Podman client is the command-line or programmatic client component that sends container-management requests to a Podman service.

A remote Podman client sends container-management requests to a Podman service instead of creating containers as children of the client process. The regular podman command supports --remote; podman-remote is a client-only build shipped for systems such as macOS and Windows, communicating with a Podman service in a VM or on another machine. section 9.5

A remote connection separates the client workflow from the Linux host that runs the containers:

  • Enable SSH access and the Podman socket on the Linux server or VM. section 9.5.2
  • Use rootless socket activation with systemctl --user enable --now podman.socket and enable lingering when the service must continue after logout; rootful deployments use the system Podman socket. section 9.5.2
  • Configure an SSH destination with podman system connection add, select it with --connection when necessary, and run ordinary Podman commands against the remote host. section 9.5.4
  • Expect the familiar command-line interface, but remember that commands execute on the server and some options, including --env-host and --preserve-fds, are unsupported remotely. section 9.5.2

Configure and test an SSH connection

podman system connection add server1 --identity ~/.ssh/id_ed25519 ssh://myuser@192.168.122.1/run/user/1000/podman/podman.sock podman system connection list podman --remote info The first configured connection becomes the default. SSH keys are encouraged, and podman info verifies the selected remote service. section 9.5.4

Figure 9.3 podman --remote connecting over SSH to the server machine

Trace the client’s SSH path to the server machine and its Podman service. section 9.5.2

How Podman in Action: Secure, rootless containers for Kubernetes, microservices, and more covers it

How deep it goes
Explains client-server execution, SSH transport, socket activation, connection configuration, and unsupported remote options.
Examples
Uses podman --remote info, podman --remote run, system connection commands, SSH keys, and local or remote socket diagrams.
What it assumes
Assumes a Linux server or VM with Podman and SSHD, then establishes the socket and rootless lingering requirements explicitly.
What you can do after
Operate/configure remote containers through SSH by enabling the service, registering a connection, selecting it, and verifying Podman access.
How it connects
Connects Podman clients with REST APIs, SSH, systemd socket activation, rootless containers, and Podman services.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Podman in Action: Secure, rootless containers for Kubernetes, microservices, and more. The section links point to the parts of the book it draws on.