Use Remote Dev Container Development using Podman

已回答

I would like to use my Windows client to remotely connect to Dev Containers in my Linux VDI running Podman, but I am having a lot of issues achieving this. 

Firstly I followed this guide: https://github.com/containers/podman/blob/main/docs/tutorials/mac_win_client.md to connect my windows podman to my linux podman via ssh and it was successful as I can see my linux containers by calling ‘podman ps’ from windows. 

From Gateway, I click on Dev Containers and create a new connection and under the section Connect to DOcker daemon with: I click on Podman (beta) . I can see my connection but I get this error: 

which is weird because this is supposed to be podman, not docker . Is there any way to fix this?

0

Hello, A Pozzer. If you want to use Podman on the remote server, I'd suggest selecting the SSH option instead of the Podman one, as the Podman option works with the local scenario only. Please note that the SSH option doesn't support password as SSH authentication method; using a key pair (Key pair or OpenSSH config option) is mandatory for it. 

0

Hi Olga,

If I select SSH (using key pair or Open SSH) I am getting the error:
com.intellij.execution.process.ProcessNotCreatedException: Cannot run program “docker.exe”: CreateProcess error=2, The system cannot find the file specified. 

If I untick ‘Detect executable paths automatically’ on top and select the podman.exe filepath then it says that it can't open that path and then it hangs on “Connecting…” . Is there any way to get this working? 

0

I can confirm, I'm having the same issue, when trying to use “Podman (beta)” connection for a remote socket.

0

A Pozzer, please accept my apologies for the lack of reply from my side; it seems our workflows didn't notify me about your answer. 
krystian.lew, for the case with the connection to the remote Podman, you could use one of the setups described below:

  • Have a podman-remote with the local Podman CLI  set up for working with a remote Podman node. In this case, the Podman option could be used for the connection.
  • Have a Podman or Docker CLI locally (as a plain executable without any specific settings; it is necessary for any SSH or TCP connection to the remote Docker or Podman) and connect to the remote Podman via the TCP socket/SSH option. 
0

Olga Mulina, thank you for quick response.

I wrote my comment, because the `podman socket` doesn't seem to be working, even if the requirements are met.

So, in macOS terminal, I'm able to run podman-remote ps and get the list of running containers.
When configuring a new container connection in Gateway or IntelliJ I can see the same connection name as the one reported by podman system connection list on remote Linux host.

But then IntelliJ or Gateway present quite a confusing error message (attached).

0

krystian.lew, thank you for the update.

Could you please double-check that the systemd socket is running on the side of your remote server, as mentioned in this instruction? It should be, as without it the IDE wouldn't be able to detect the remote Podman connection, but I'd like to double-check.

If the error in the UI persists after you check, please consider collecting the extended logs and sharing them so I can investigate further. To collect logs, please perform the following steps:

  • open the Help | Diagnostic Tools | Debug Log Settings window;
  • add the com.intellij.docker line there;
  • open the Docker settings window again to reproduce the problem;
  • collect (Help | Collect Logs and Diagnostic Data) the IDE logs.

 

You can share the logs using our JetBrains Uploads service and write me the ID you receive there.

0

Hi  Olga Mulina I have the exact same issue as Krystian.. Intellij IDEA on windows pc, connecting with podman remote to CoreOS podman installation

JetBrains upload id 2026_02_20_27fut9it7qCV7RFqdjaYnG

PODMAN info

C:\Users\m24669>podman info
Client:
  APIVersion: 5.7.1
  Built: 1765378491
  BuiltTime: Wed Dec 10 15:54:51 2025
  GitCommit: f845d14e941889ba4c071f35233d09b29d363c75
  GoVersion: go1.25.5
  Os: windows
  OsArch: windows/amd64
  Version: 5.7.1
host:
  arch: amd64
  buildahVersion: 1.42.2
  cgroupControllers:
  - cpuset
  - cpu
  - io
  - memory
  - hugetlb
  - pids
  - rdma
  - misc
  - dmem
  cgroupManager: systemd
  cgroupVersion: v2
  conmon:
    package: conmon-2.1.13-2.fc43.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.1.13, commit: '
  cpuUtilization:
    idlePercent: 88.23
    systemPercent: 2.51
    userPercent: 9.26
  cpus: 4
  databaseBackend: sqlite
  distribution:
    distribution: fedora
    variant: coreos
    version: "43"
  eventLogger: journald
  freeLocks: 2017
  hostname: podman-box-work
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 6.18.7-200.fc43.x86_64
  linkmode: dynamic
  logDriver: journald
  memFree: 9831305216
  memTotal: 12007825408
  networkBackend: netavark
  networkBackendInfo:
    backend: netavark
    dns:
      package: aardvark-dns-1.17.0-1.fc43.x86_64
      path: /usr/libexec/podman/aardvark-dns
      version: aardvark-dns 1.17.0
    package: netavark-1.17.1-1.fc43.x86_64
    path: /usr/libexec/podman/netavark
    version: netavark 1.17.1
  ociRuntime:
    name: crun
    package: crun-1.25.1-1.fc43.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 1.25.1
      commit: 156ae065d4a322d149c7307034f98d9637aa92a2
      rundir: /run/crun
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
  os: linux
  pasta:
    executable: /usr/bin/pasta
    package: passt-0^20260120.g386b5f5-1.fc43.x86_64
    version: |
      pasta 0^20260120.g386b5f5-1.fc43.x86_64
      Copyright Red Hat
      GNU General Public License, version 2 or later
        <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
  remoteSocket:
    exists: true
    path: unix:///run/podman/podman.sock
  rootlessNetworkCmd: pasta
  security:
    apparmorEnabled: false
    capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: false
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: true
  serviceIsRemote: true
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: slirp4netns-1.3.1-3.fc43.x86_64
    version: |-
      slirp4netns version 1.3.1
      commit: e5e368c4f5db6ae75c2fce786e31eef9da6bf236
      libslirp: 4.9.1
      SLIRP_CONFIG_VERSION_MAX: 6
      libseccomp: 2.6.0
  swapFree: 0
  swapTotal: 0
  uptime: 1h 30m 24.00s (Approximately 0.04 days)
  variant: ""
plugins:
  authorization: null
  log:
  - k8s-file
  - none
  - passthrough
  - journald
  network:
  - bridge
  - macvlan
  - ipvlan
  volume:
  - local
registries:
  search:
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - docker.io
store:
  configFile: /usr/share/containers/storage.conf
  containerStore:
    number: 22
    paused: 0
    running: 0
    stopped: 22
  graphDriverName: overlay
  graphOptions:
    overlay.additionalImageStores:
    - /usr/lib/containers/storage
    overlay.imagestore: /usr/lib/containers/storage
    overlay.mountopt: nodev,metacopy=on
  graphRoot: /var/lib/containers/storage
  graphRootAllocated: 106769133568
  graphRootUsed: 60845555712
  graphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Supports shifting: "true"
    Supports volatile: "true"
    Using metacopy: "true"
  imageCopyTmpDir: /var/tmp
  imageStore:
    number: 87
  runRoot: /run/containers/storage
  transientStore: false
  volumePath: /var/lib/containers/storage/volumes
version:
  APIVersion: 5.7.1
  BuildOrigin: Fedora Project
  Built: 1765324800
  BuiltTime: Wed Dec 10 00:00:00 2025
  GitCommit: f845d14e941889ba4c071f35233d09b29d363c75
  GoVersion: go1.25.4 X:nodwarf5
  Os: linux
  OsArch: linux/amd64
  Version: 5.7.1
0

Oh and by the way I am using this setup with VSCode but i'd rather use IDEA Ultimate.

0

In my case I have system with rootless Podman, SELinux and devcontainer.json with  

"runArgs": [
  "--userns=keep-id:uid=1000,gid=1000"
],

   And in this case VSCode with relevant plugin works but I can't find how to set up Intellis in this case so it would work as intentionally.

   My problem is that I get read access error due to selinux restrictions and can't seem to add custom podman args and change volume options (I think I need :z or :Z but I don't see how I can set them)

Update: 

I kind of “fixed” this issue by adding one more item to "runArgs"- "--security-opt=label=disable", but I feel it's like a workaround.

0

请先登录再写评论。