簡體   English   中英

VSCode:如何通過遠程服務器在 docker 容器中運行 Jupyter notebook?

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

我可以使用 docker 擴展,然后右鍵單擊“附加外殼”到正在運行的容器。 但是,我的 Jupyter notebooks 並未在該容器中運行。

我嘗試用谷歌搜索如何在 docker 容器中運行 jupyter notebook,但沒有得到任何結果。

如果它有所作為,我正在嘗試在遠程服務器上的 docker 容器中運行我的筆記本(使用 VS Code 遠程 ssh 登錄)

編輯:

我也試過跑步

!docker exec -ti {container name} bash

在 jupyter 中,但那個單元格只是掛起。 當我停止單元格時,筆記本仍然沒有在容器中運行。

2022 年 8 月 31 日更新:原來的方法現在可能會導致 Docker 錯誤:

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

如果您使用系統 package 而不是從 repo 原始下載,則該問題已修復。 如果是 Ubuntu:

RUN apt-get install tini

rest 是相同的:

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

剛遇到同樣的問題。 看來您無法從開箱即用的容器中運行 Jupyter。 但是這個鏈接幫助了我。 基本上你需要的是:

  1. 將此添加到您的 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"]

這將在端口 8888 上的容器內啟動 jupyter。所以不要忘記在 docker-compose 或 docker 運行中公開此端口。

這在我的本地 docker 中對我有用。我可以假設對於 SSH docker,您需要在 SSH 從遠程連接到本地主機期間轉發 8888 端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM