docker部署jupyter

文章目录

1.搜索镜像

docker search jupyter: 命令用于在 Docker Hub 上搜索名为 "jupyter" 的镜像。搜索结果显示了一个名为 "jupyter/datascience-notebook" 的镜像,它是一个包含了数据科学 Jupyter 笔记本的 Python 栈。

复制代码
root@Could:/volume1/docker/jupyter# docker search jupyter
NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jupyter/datascience-notebook         Data Science Jupyter Notebook Python Stack f...   1057    

....省略n个镜像

2.拉取镜像

docker pull jupyter/datascience-notebook:命令用于从 Docker Hub 下载 "jupyter/datascience-notebook" 镜像。

复制代码
docker pull  jupyter/datascience-notebook

3.创建挂载

mkdir -p /volume1/docker/jupyter/notebook: 命令用于创建一个目录,即 /volume1/docker/jupyter/notebook,用于在主机和容器之间共享 Jupyter 笔记本文件。可以将的 Jupyter 笔记本文件放在这个目录中,以便在容器中进行访问和编辑。

复制代码
#创建挂载目录
mkdir -p /volume1/docker/jupyter/notebook

4.运行容器

两个选项都可以生成jupyter,看个人需求:

(1)生成token,修改jupyter密码

复制代码
#运行容器
docker run -itd \
--name jupyter \
-p 8888:8888 \
-e "GRANT_SUDO=yes" \
-v /volume1/docker/jupyter/notebook:/home/notebook/data \
jupyter/datascience-notebook

(2)生成无访问密码jupyter的容器

复制代码
docker run -itd \
--name jupyter \
-p 8888:8888 \
-v /volume1/docker/jupyter/notebook:/home/notebook/data \
-e "JUPYTER_ENABLE_LAB=yes" \
-e "NB_USER=user" \
-e "NB_UID=1000" \
-e "GRANT_SUDO=yes" \
jupyter/datascience-notebook start-notebook.sh --NotebookApp.token=''
  • docker run -itd: 这是运行 Docker 容器的命令。-itd 参数将容器运行在后台,并将标准输入连接到 TTY(终端)。
  • --name jupyter: 通过这个选项,为容器指定了一个名称,即 "jupyter"。
  • -p 8888:8888: 这个选项将容器内部的端口 8888 映射到宿主机的端口 8888,以便可以通过 localhost:8888 访问 Jupyter。
  • -v /volume1/docker/jupyter/notebook:/home/notebook/data: 这个选项将宿主机的目录 /volume1/docker/jupyter/notebook 挂载到容器内的 /home/notebook/data 目录,以便可以在 Jupyter 中访问宿主机上的数据。
  • -e "JUPYTER_ENABLE_LAB=yes": 这个选项设置 Jupyter 启用 JupyterLab 界面。
  • -e "NB_USER=user": 这个选项设置 Jupyter 使用用户名 "user"。
  • -e "NB_UID=1000": 这个选项设置 Jupyter 使用用户 ID 为 1000。
  • -e "GRANT_SUDO=yes": 这个选项允许 Jupyter 用户拥有管理员权限。
  • jupyter/datascience-notebook: 这是要使用的 Docker 镜像的名称,即 Jupyter 数据科学笔记本镜像。
  • start-notebook.sh --NotebookApp.token='': 这是在容器内部运行的命令。start-notebook.sh 脚本会启动 Jupyter 服务器,并使用空的访问令牌,即无密码访问模式。

通过运行上述命令,将启动一个名为 "jupyter" 的容器,并以无密码访问模式启动 Jupyter。可以在浏览器中访问 IP:8888 来使用 Jupyter 笔记本。

4.查看容器运行运行状态

docker ps命令,用于查看运行的 Jupyter 数据科学笔记本容器的详细信息如下:

复制代码
root@Could:~# docker ps
CONTAINER ID   IMAGE                            COMMAND                  CREATED         STATUS                   PORTS                    NAMES
4cd0ddf5a966   jupyter/datascience-notebook     "tini -g -- start-no..."   4 minutes ago   Up 4 minutes (healthy)   0.0.0.0:8888->8888/tcp   jupyter
  • CONTAINER ID: 容器的唯一标识符,用于在 Docker 中标识容器。
  • IMAGE: 容器所使用的镜像名称,即 "jupyter/datascience-notebook"。
  • COMMAND: 容器启动时执行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器的状态。在这种情况下,容器的状态为 "Up",表示容器正在运行。
  • PORTS: 容器的端口映射配置。在这种情况下,容器的端口 8888 映射到主机的端口 8888。
  • NAMES: 容器的名称。

容器的名称为 "mystifying_shirley",它已经运行了大约 15 分钟,并且状态为 "Up",表示容器正常运行。

5.token查看

该命令使用Docker的日志功能来查看Jupyter容器的日志,并将日志内容追加到/tmp/jupyter.txt文件中。然后,使用grep命令来在文件中搜索包含"token"的行。

复制代码
docker logs jupyter | cat >> /tmp/jupyter.txt 
cat  /tmp/jupyter.txt | grep token

#或者通过
docker logs jupyter | grep token

通过这个命令,可以查看Jupyter容器的日志,并搜索包含"token"的行,以找到Jupyter Notebook的访问令牌(token)。

复制token=xxx

复制代码
9d38b2f29a6971f9abb8301da66de1073f57d627804200e

6.访问jupyter

http://192.168.31.100:8888/

通过token修改密码

登录jupyter主界面

写一个hello world

相关推荐
AOwhisky2 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
念何架构之路8 小时前
Docker 容器状态机 学习
java·学习·docker
jieyucx8 小时前
Docker 入门第六阶段:综合实战项目
运维·docker·容器
不能只会打代码10 小时前
Day 002 — Python 工程化 & FastAPI & 数据库速通
数据库·redis·python·docker·fastapi·测试
yanjieliyun13 小时前
家庭服务器从入门到精通 · 第 5 篇 · NPM反向代理从安装到起飞:一条命令搞定HTTPS
docker
天狼啸月199013 小时前
RagSEDE复现: Docker and Ragflow 关系
docker·容器·ragflow·ragsede
java_logo14 小时前
Docker 部署 SamWaf 完整教程:开源 Web 应用防火墙实测
docker·开源·防火墙·waf·samwaf·轩辕镜像·docker部署waf
C137的本贾尼14 小时前
第十篇:Docker & K8s——标准化应用的“集装箱“和“码头调度中心“
docker·容器·kubernetes
增量星球15 小时前
《持续交付2.0系列一》从技术交付到业务引领
java·docker·容器·devops