# Running podman in Jupyterhub

**URL:** <https://discourse.jupyter.org/t/running-podman-in-jupyterhub/37338>\
**Category:** JupyterHub\
**Created:** [August 5, 2025, 2:35pm UTC](https://discourse.jupyter.org/t/running-podman-in-jupyterhub/37338 "2025-08-05T14:35:09Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mashed-potato](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/mashed-potato/32/16686_2.png) [@mashed-potato](https://discourse.jupyter.org/u/mashed-potato)\
**Post date:** [August 5, 2025, 2:35pm UTC](https://discourse.jupyter.org/t/running-podman-in-jupyterhub/37338/1 "2025-08-05T14:35:09Z")

</div>

> Hey folks.
> 
> I am trying to get podman to run in Jupyterhub. As of writing this message, I am getting the following error when executing podman commands in my Jupyter environment:
> 
> jovyan@2692244743ac:~$ sudo podman run \<EXAMPLE\_IMAGE\> WARN[0000] Failed to add conmon to cgroupfs sandbox cgroup: write /sys/fs/cgroup/libpod\_parent/conmon/cgroup.procs: write /sys/fs/cgroup/libpod\_parent/conmon/cgroup.procs: no such file or directory Error: writing file `/sys/fs/cgroup/libpod_parent/libpod-f57d37ef67cf04a15c80e9a0ae0854e75d8f893e90916f69c03dfe0c130d3326/cgroup.procs`: No such file or directory: OCI runtime attempted to invoke a command that was not found

I’m new podman and this is becoming quite a headache. Any help is much appreciated.  
My goal is to have a daemon-less container runtime environment in JupyterHub with access to my GPUs. I can do this with Docker. My goal is to be deamon-less… hence I want to replace Docker with Podman

---

<div class="post-metadata">

**Author:** ![manics](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/manics/32/85_2.png) [@manics](https://discourse.jupyter.org/u/manics)\
**Post date:** [August 5, 2025, 2:41pm UTC](https://discourse.jupyter.org/t/running-podman-in-jupyterhub/37338/2 "2025-08-05T14:41:30Z")

</div>

We’ll need more information to help you. For example, how have your setup your system, how was Podman installed and configured, what are you trying to run?

Have a read through

> [@Getting good answers to your questions](https://discourse.jupyter.org/t/getting-good-answers-to-your-questions/1825):
>
> Eventually you will get stuck when trying to do something. This post is about how to get help with getting unstuck. People love helping others. Below some tips on how to, in my experience, improve your chances of getting a good answer. The answers you get will depend very much on the way you ask your question. Most people like hard problems and thought-provoking questions. So give them an interesting question to chew on, and they will love it. What are the hurdles to getting a good answer? Peo…

---

<div class="post-metadata">

**Author:** ![mashed-potato](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/mashed-potato/32/16686_2.png) [@mashed-potato](https://discourse.jupyter.org/u/mashed-potato)\
**Post date:** [August 5, 2025, 2:55pm UTC](https://discourse.jupyter.org/t/running-podman-in-jupyterhub/37338/3 "2025-08-05T14:55:46Z")

</div>

Hello @manics

Thank you for reaching out.  
I’m running on Ubuntu 24.04 as my host.  
I have been using `dockerspawner` with `jupyterhub. `I want to use Podman inside the spawned container …. but I don’t want Podman to connect to the system socket (the host’s `docker.sock`).  
Furthermore, I have GPUs on my host system which have been accessible via the spawned containers. I have two general use cases in my Jupyterhub containers:

1- computational jobs using torch  
2- multi-container deployments inside the spawned containers..(ala docker and docker compose)

I installed `pdoman` via apt in the container.

---

<div class="post-metadata">

**Author:** ![manics](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/manics/32/85_2.png) [@manics](https://discourse.jupyter.org/u/manics)\
**Post date:** [August 5, 2025, 4:45pm UTC](https://discourse.jupyter.org/t/running-podman-in-jupyterhub/37338/4 "2025-08-05T16:45:59Z")

</div>

I’d start by working out how to run (nested) Podman in your required configuration inside a container without JupyterHub. Once you’ve worked that out we can convert that configuration into the relevant JupyterHub configuration.

---

<div class="post-metadata">

**Author:** ![mashed-potato](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/mashed-potato/32/16686_2.png) [@mashed-potato](https://discourse.jupyter.org/u/mashed-potato)\
**Post date:** [August 7, 2025, 11:49am UTC](https://discourse.jupyter.org/t/running-podman-in-jupyterhub/37338/5 "2025-08-07T11:49:18Z")

</div>

Hello again @manics  
Thanks for the reply. Would you even recommend this approach? I’m digging through documentation and reading other experiences. It seems achievable; I’m not sure if its the best approach though. May I ask your opinion regarding this approach?  
If I were to summarize it, I want to run a rootless container runtime (podman) inside a rootful container envrionment (docker). People have suggested entirely rootless setups; podman inside podman. For the second setup I saw this post [“How to run nested, rootless containers?”](https://github.com/containers/podman/issues/15419) and have had second thoughts. Any help is much appreciated.  
Thanks

---

<div class="post-metadata">

**Author:** ![manics](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/manics/32/85_2.png) [@manics](https://discourse.jupyter.org/u/manics)\
**Post date:** [August 9, 2025, 2:24pm UTC](https://discourse.jupyter.org/t/running-podman-in-jupyterhub/37338/6 "2025-08-09T14:24:05Z")

</div>

Nested podman inside another container engine should be possible, but the operating system needs some configuration to support rootless podman (e.g. cgroups, user/pid/network namespaces, ideally an overlay filesystem) which all needs to be repeated for the nested podman. These will require extra privileges in the parent container (Docker).
