Bootstrap

NGC容器中快速搭建Jupyter环境

本文将介绍如下内容:

  • 一、搭建 Docker Container 环境
  • 二、配置 Jupyter
  • 三、访问 Jupyter 页面并后台运行服务

一、搭建 Docker Container 环境

1、拉取 Docker Image

NVIDAI NGC CONTAINER

# 1. 进入 NVIDAI NGC CONTAINER,检索。Eg: Pytorch Tag
# NVIDAI NGC CONTAINER: https://catalog.ngc.nvidia.com/containers

# 2. 拉取 Docker Container
docker pull nvcr.io/nvidia/pytorch:24.10-py3
2、创建 Docker Container

vim create_docker_container.sh

#!/bin/bash

# script parameters
docker_run_name=$1
docker_image_name=$2
docker_image_version=$3
ssh_port=$4
jupyter_port=$5
tensorboard=$6

# docker run --gpus all -itd \
docker run --gpus all --cpus 24 --shm-size 16G --memory 50gb -itd \
  -p ${ssh_port}:22 \
  -p ${jupyter_port}:8888 \
  -p ${tensorboard}:6006 \
  -v /etc/localtime:/etc/localtime \
  -v /home/ai:/home/ai \
  --name ${docker_run_name} \
  -e JUPYTER_PASSWORD="123456" \
  -e JUPYTER_PORT=8888 \
  -e ROOT_PASS="123456" \
  ${docker_image_name}:${docker_image_version}

# bash create_generate_train_container.sh generate_pytorch_2410  nvcr.io/nvidia/pytorch  24.10-py3 20010 20011 20012

bash create_generate_train_container.sh generate_pytorch_2410 nvcr.io/nvidia/pytorch 24.10-py3 20010 20011 20012

二、配置 Jupyter

1、方法一
# 1. 安装jupyter
pip install jupyter

# 2. 输入以下命令即可设置密码
jupyter notebook password
2、方法二
#安装jupyter
pip install jupyter

#生成jupyter配置文件,这个会生成配置文件.jupyter/jupyter_notebook_config.py
jupyter notebook --generate-config

#使用python交互窗口生成密码
In [1]: from notebook.auth import passwd # 或替换为: from jupyter_server.auth import passwd
In [2]: passwd()
Enter password: 
Verify password: 
Out[2]: 'sha1:******'

#去配置文件.jupyter/jupyter_notebook_config.py中修改以下参数
c.NotebookApp.ip='*'                          #绑定所有地址
c.NotebookApp.password = u'刚才生成的密码'
c.NotebookApp.open_browser = False            #启动后是否在浏览器中自动打开
c.NotebookApp.port =8888                      #指定一个访问端口,默认8888,注意和映射的docker端口对应

三、后台运行服务并访问 Jupyter 页面

1、后台运行服务
# 启动 jupyter 服务
jupyter notebook --allow-root --notebook-dir=/home/ai
# 注意: --notebook-dir 为 jupyter 启动目录

# 后台 nohup 运行
nohup jupyter notebook --allow-root --notebook-dir=/home/ai >/dev/null 2>&1 & 
2、访问 Jupyter 页面
# 在浏览器中访问 http://127.0.0.1:20011/tree?# 在浏览器中访问 http://127.0.0.1:20011/lab?

注意: 20011 为创建 Docker Container 时 jupyter 服务 8888 端口对应的外部端口。
;