创建一个安装了Jupyter lab 的 Docker

本文,凌顺实验室(lingshunlab.com)将通过定义一个镜像,构建镜像,创建容器运行需要的东西这么一个Docker流程,介绍Docker的用法。

创建 Dockerfile

一般我会,创建一个文件夹来管理Docker的Dockerfile,可以在你想的位置创建该目录

mkdir Dockers

进入刚才创建的文件夹,再创建一个文件夹,这个testDockers的名字可以替换是你喜欢的名称

cd Dockers
mkdir testDockers

再进入刚才创建的文件夹,创建一个Dockerfile,名称一定是Dockerfile,清注意

cd testDockers
touch Dockerfile

使用编辑器对该文件进行编辑,例如使用 vi 或者nano,我偏向使用nano,例如输入以下命令:

nano Dockerfile

我比较喜欢使用ubuntu,然后经常会用到Jupyter Lab,那么我就构建一个装有Jupyter Lab的Docker。

文件内容如下:

FROM ubuntu:22.04           # FROM指令表示从哪个镜像开始
MAINTAINER lingshunlab.com  # 镜像的维护人
RUN apt-get update && apt-get upgrade -y
RUN apt install python3-pip -y   # 安装 pip3
RUN apt install libffi-dev -y    # 安装libffi-dev,因为JupyterLab安装过程会ffi.h报错
RUN pip3 install jupyterlab      # 安装JupyterLab

编辑好,保存(ctrl+o),并推出(ctrl+x)。

使用 docker build 创建镜像

维持在当前目录下,使用以下命令,就开始构建一个镜像了

docker build -t docker_name:version_num .

使用docker build 命令 从 Dockerfile 构建镜像

docker_name 镜像的名称,这里可以替换成你喜欢的名字

version_num 镜像的标签,的这里也可以替换成你喜欢的名字,但一般我会用作标识版本号

. 是指当前目录下的Dockerfile

具体的docker build 解释请查看Docker的文档:

https://docs.docker.com/engine/reference/commandline/build/

经过一段时间的等待......

构建镜像完成。

可以通过,docker images 命令查看当前主机已经创建了的镜像

创建容器

使用docker run 创建一个新容器并运行命令

例如创建容器并进入该容器的终端:

docker run -t -i docker_name:version_num /bin/bash

例如创建容器后运行Jupyter Lab:

docker run  -p 8889:8889 -v /home/pi:/home/ -it docker_name:version_num jupyter-lab --ip=0.0.0.0 --port=8889 --allow-root --ServerApp.token='your-password' --notebook-dir=/home  --no-browser

-p 是将容器的端口映射到主机

-v 是将容器的指定文件夹映射到主机的指定文件夹,这样就可以实现文件共享,并且退出容器后,文件仍然存在。

之后就是Jupyter lab 的命令和选项

具体的docker run ,请查看:
https://docs.docker.com/engine/reference/commandline/run/