简体   繁体   中英

VSCode: How to run a Jupyter notebook in a docker container, over a remote server?

I can use the docker extension, and right click 'attach shell' to a running container. However, my Jupyter notebooks is not running in that container.

I tried googling how to run a jupyter notebook in a docker container, but I didn't get any results.

If it makes a difference, I am trying to run my notebook in a docker container on a remote server (using VS Code remote ssh to log in)

Edit:

I also tried running

!docker exec -ti {container name} bash

In jupyter, but that cell just hangs. When I stop the cell, the notebook still does not run in the container.

Update 31.08.2022: The original approach now may cause Docker error:

standard_init_linux.go:228: exec user process caused: no such file or directory

Which is fixed if you're using system package instead of raw download from repo. In case of Ubuntu:

RUN apt-get install tini

the rest is the same:

RUN chmod +x /usr/bin/tini
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--allow-root"]

Just came to the same problem. It appeared that you cannot run Jupyter from a container out of the box. But this link helped me. Basically what you need is:

  1. Add this to your dockerfile:
# Add Tini. Tini operates as a process subreaper for jupyter. This prevents kernel crashes.
ENV TINI_VERSION v0.6.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini
RUN chmod +x /usr/bin/tini
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--allow-root"]

This will start jupyter inside a container on port 8888. So don't forget to expose this port in your docker-compose or docker run.

This worked for me in my local docker. I can assume that for SSH docker you need to forward 8888 port during you SSH connection from remote to your local host.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM