用docker在jetson-nano上安装jupyterlab

自从Jetpack 4.3,Nvidia引入了Cloud-Native的概念,然后JetPack系统image就自带了nvidia的docker。使用docker的好处是可以快速部署一个目标环境,减少了各自依赖安装的环节,大大提高了生产效率。我们今天就来看看,怎样可以在Jetson Nano上快速搭建一个JupyterLab的环境。比起之前介绍的《Jetson Nano 安装 Jupyter Lab》,要简单很多。

检查docker是否有正确安装

  • 检查docker版本
docker --version

如果你看到docker能正常显示版本信息,则代表docker已经正常安装,否则你要先安装在环境中docker,可以参考官方网站

选择Jupyter的docker image

Jupyter团队已经在docker hub为你准备好三款基础的jupyter image,它们的区别在于不同image上安装了不同的软件,他们的用途有所不同,你可以根据你的自身需求,选择适合的image,萝卜青菜各有所爱。

  1. $1

  2. $1

  3. $1

  4. $1

还有装好其他环境的image,大家可以参考《在树莓派/JetsonNano安装docker

下载 jupyter image

选好了image,运行以下命令就能下载对应的image到本地

sudo docker pull jupyter/base-notebook

运行jupyter

sudo docker run -p 8888:8888 -v /home/bbot:/home/jovyan/work jupyter/base-notebook

其中 -p 8888:8888 代表把系统的8888端口(左边)映射到docker环境的8888端口(右边)。 -v /home/bbot:/home/jovyan/work 指的是把系统home目录映射到docker环境里的/home/jovyan/work目录,你可以根据需要设定映射关系。

上图代表运行成功,通过红框的url访问jupyter。

配置jupyterlab

参考《Jetson Nano 安装 Jupyter Lab》,你可以设置密码来访问jupyter,还有支持本地网络访问。

开机启动jupyterlab

稍微修改一下启动的命令,即可支持开机时自动启动jupyter的容器。

sudo docker run --restart=always -d -p 8888:8888 -v /home/bbot:/home/jovyan/work jupyter/base-notebook

其中-restart=always代表无论容器的当前状态如何,当docker启动时容器会自动启动。 -d 的作用是容器在后台运行。

通过jupyterlab登录到宿主的系统

有时候,通过docker来安装jupyter就是为了方便远程工作,但需要连接回宿主系统也是经常需要的,因某些设备可能在设定jupyter时没有设置好。

因为base-notebook没有事先安装openssh-client,所以需要先安装。

sudo apt-get update
sudo apt-get install openssh-client

安装好就可以通过172.17.0.1地址登录宿主

ssh root@172.17.0.1

如果想更方便快捷进入系统,可以把docker里的public key加到宿主上,这样连密码都不用打。

好的,这里完了,折腾愉快!