I try to use a custom docker image for JupyterHub with Kubernetes on GKE, in which I want to use C++ and OCaml programming languages.
I started with this Dockerfile: Dockerfile without docker-stacks · GitHub
This works locally (with docker run) but not on JupyterHub :
2021-08-14T11:45:29Z [Warning] Error: failed to create containerd task: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: “jupyterhub-singleuser”: executable file not found in $PATH: unknown
Then I tried to use Jupyter docker-stacks images: Dockerfile with docker-stacks · GitHub
This works well locally and on Binder.
It starts on JupyterHub and I can use the C++ kernel but not the OCaml Kernel (it does not appear at all with jupyter kernelspec list
).
I guess this is a permission problem (OCaml files should be installed in ~/.local and ~/.opam but are missing on JupyterHub) but I can’t figure how to solve it and I don’t understand very well why those fix-permissions calls are needed. I also don’t understand why it works on Binder and not on JupyterHub.
I also looked at the logs on GKE but didn’t see anything meaningful.