使用 Docker 安装 Jupyter Notebook 的简明指南

在数据科学和机器学习的领域中,Jupyter Notebook 以其交互式环境受到广泛欢迎。它允许用户通过网页界面撰写文档、执行代码和可视化数据。然而,在本地环境中安装和配置 Jupyter 可能会遇到一些挑战,尤其是在软件依赖和版本兼容问题上。为了解决这个问题,我们可以使用 Docker,它能够在隔离的环境中运行应用程序。

什么是 Docker?

Docker 是一个开源平台,允许开发者打包应用及其依赖成一个可移植的容器。这意味着你可以在一个环境中构建应用,并在任何支持 Docker 的地方运行它,而无需担心安装配置的细节。通过 Docker,我们可以轻松快捷地安装 Jupyter Notebook,而不必在本地系统中做复杂的配置。

安装 Docker

在安装 Jupyter 之前,你需要先在你的机器上安装 Docker。以下是不同系统上安装 Docker 的简要步骤:

Windows 和 macOS

  1. 前往 Docker 官方网站 [Docker Desktop](
  2. 下载并安装相应版本的 Docker Desktop。
  3. 安装完成后,启动 Docker Desktop。

Linux

在大多数 Linux 发行版上,你可以使用以下命令安装 Docker:

sudo apt-get update
sudo apt-get install docker.io

安装后,确保 Docker 服务正在运行:

sudo systemctl start docker
sudo systemctl enable docker

使用 Docker 安装 Jupyter Notebook

一旦 Docker 安装完成,现在就可以使用 Docker 拉取 Jupyter Notebook 的镜像并运行。以下是具体步骤:

拉取 Jupyter Notebook 镜像

使用以下命令从 Docker Hub 拉取 Jupyter Notebook 的官方镜像:

docker pull jupyter/base-notebook

这个镜像包含了一个运行 Jupyter Notebook 的基础环境。

启动 Jupyter Notebook

在拉取镜像之后,你可以使用以下命令启动 Jupyter Notebook:

docker run -p 8888:8888 jupyter/base-notebook

这里的 -p 8888:8888 参数表示将本地的 8888 端口映射到容器的 8888 端口。启动容器后,你会在终端看到一个包含访问链接的输出。链接的格式类似于:


你可以在浏览器中打开这个链接,访问你的 Jupyter Notebook 界面。

运行时参数

在启动容器时,你可以根据需要指定额外的参数。例如,如果想要在容器中安装额外的 Python 包,可以使用 Docker 的 -e 选项,例如:

docker run -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes jupyter/base-notebook

这将启用 JupyterLab,提供一个更加强大和灵活的界面。

如何持久化数据

Docker 容器是临时的,容器停止后,所有在容器中创建的数据都会丢失。为了避免这种情况,可以将数据存储在主机系统上,并使用 Docker 的卷来持久化数据。以下是持久化数据的示例:

docker run -p 8888:8888 -v /path/to/your/data:/home/jovyan/work jupyter/base-notebook

在这个命令中,-v /path/to/your/data:/home/jovyan/work 参数将主机上的数据目录挂载到容器的 /home/jovyan/work 目录。因此,所有在 Jupyter Notebook 中创建的文件都会保存在这个目录中。

停止 Jupyter Notebook

当你不再需要 Jupyter Notebook 时,可以通过容器的 ID 停止运行。首先,你可以使用以下命令查看当前运行的容器:

docker ps

找到 Jupyter Notebook 容器的 ID,然后使用以下命令停止它:

docker stop <container_id>

确保将 <container_id> 替换为实际的容器 ID。

总结

通过 Docker 安装和运行 Jupyter Notebook 提供了一种简洁而强大的解决方案。它不仅能避免繁琐的安装和配置过程,还可以便于管理和分享工作环境。本文通过简单的命令演示了如何拉取镜像、启动 Jupyter Notebook、持久化数据以及停止容器等基本操作。

希望这篇文章能帮助你快速入门,并在数据分析和机器学习的旅程中,利用 Jupyter Notebook 效率更高地工作!如果有任何疑问或需要更多帮助,随时可以参考 Docker 和 Jupyter 的官方文档。