Issue
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.
Solution
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:
- 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.
Answered By - Jahjajaka