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

相关推荐
大G哥几秒前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
大道归简1 小时前
Docker 命令从入门到入门:从 Windows 到容器的完美类比
windows·docker·容器
zeruns8021 小时前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
爱跑步的程序员~1 小时前
Docker
docker·容器
福大大架构师每日一题2 小时前
23.1 k8s监控中标签relabel的应用和原理
java·容器·kubernetes
程序那点事儿2 小时前
k8s 之动态创建pv失败(踩坑)
云原生·容器·kubernetes
疯狂的大狗2 小时前
docker进入正在运行的容器,exit后的比较
运维·docker·容器
长天一色2 小时前
【Docker从入门到进阶】01.介绍 & 02.基础使用
运维·docker·容器
伊玛目的门徒2 小时前
docker 搭建minimalist-web-notepad
运维·docker·notepad
theo.wu5 小时前
使用Buildpacks构建Docker镜像
运维·docker·容器