📜  在 docker 中运行 jupyter (1)

📅  最后修改于: 2023-12-03 15:07:38.991000             🧑  作者: Mango

在 Docker 中运行 Jupyter

在 Docker 上运行 Jupyter 是一种流行的方法,它提供了一种方便易用的方式来创建和管理 Jupyter 环境,同时确保你的环境是相对独立的,以便能够快速创建、销毁并更改配置。

安装 Docker

首先,在你的机器上安装 Docker。官网提供了有关如何在不同平台上安装 Docker 的详细说明。

构建 Docker 镜像

使用 Dockerfile 来构建一个包含 Jupyter 环境的镜像。以下是一个基本的 Dockerfile,你可以根据你的需求修改它:

# 使用 Python 3.8 为基础镜像
FROM python:3.8

# 更新 apt-get
RUN apt-get update && apt-get install -y \
    curl \
    git \
    # other tools you might need \
    && apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 设置工作目录
WORKDIR /home

# 复制 requirements.txt 文件到工作目录
COPY requirements.txt .

# 安装 requirements.txt 中的依赖包
RUN pip install --no-cache-dir -r requirements.txt

# 设置 Jupyter Notebook 的密码,这里默认为 "password123",更改为你喜欢的密码
RUN jupyter notebook --generate-config && \
    echo "c.NotebookApp.token = ''" >> /root/.jupyter/jupyter_notebook_config.py && \
    echo "c.NotebookApp.password = 'sha1:d8bb6cfc4937:38c18af85098ea8faee86dc2759d57856840dbf9'" >> /root/.jupyter/jupyter_notebook_config.py

# 将当前目录下的所有文件复制到工作目录中
COPY . .

# 暴露 Jupyter Notebook 端口
EXPOSE 8888

# 运行 Jupyter Notebook
CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--allow-root"]

此Dockerfile使用Python 3.8作为基础镜像,安装常见工具和依赖,并设置Jupyter Notebok的密码。你可以根据你的需求修改它。

接下来,在命令行中构建 Docker 镜像:

docker build -t myjupyter ./

这将在当前目录中构建 Docker 镜像,并将其标记为“myjupyter”。

启动 Jupyter

启动 Jupyter:

docker run --rm -p 8888:8888 -v $(pwd):/home myjupyter

这将在容器中启动 Jupyter,并将 8888 端口映射到主机的 8888 端口上。 -v 标志将当前目录($(pwd))挂载到 Docker 容器中。

访问 Jupyter

现在,你可以通过浏览器访问 Jupyter,请在浏览器中输入以下 URL:

http://localhost:8888

你可以使用密码 'password123'(或你在 Dockerfile 中设置的密码)进行登录。

总结

这是使用 Docker 运行 Jupyter Notebook 的基础步骤。使用 Docker,你可以方便地创建和销毁基于 Jupyter 的环境,并确保你的环境是相对独立的,从而可以在不同的平台上运行你的代码。