以前学习Tensorflow代码都是直接在本机上安装Tensorflow就开干了,后来开始使用JupyterLab来写代码,用了一段时间,发现还不错。然后又决定开始在Docker容器中开始写Tensorflow代码。
但是这个Docker启动JupyterLab的命令实在不好记,一段时间不用就想不起来了,每当要用的时候就开始在网上东翻西找,浪费不少时间。这次,终于下定决心来记录一下。
总体来说,用Docker启动Jupyterlab有如下几个步骤:
- 启动Docker。
- 启动Docker后,然后看在Docker中有没有安装jupyterlab,有完装的话,自然省事。如果没有安装,也不用着急,一行代码就可以安装好了。
- 上面2步之后,在浏览器中就可以启动jupyterlab了。
然后,就来看一下这几个步骤都要用到哪些命令吧。
1. 启动Docker
首先要在本机上安装一个Docker,我安装的是一个Docker客户端。先打开这个客户端,然后启动终端。
输入如下命令看一下Docker状态。
sudo docker info
这时终端会有一些打印信息,这些信息没有问题的话。就在Docker中启动Tensorflow环境。终端命令如下:
sudo docker run -itd -p 8888:8888 -v /Users/lipan/Documents/TFWork:/TFWork daocloud.io/daocloud/tensorflow bash
这个命令比较长,它的参数信息如下:
-itd: 这个是交互式命令。
-p: 表示端口映射,左边8888表示本机的端口,右边的8888表示Docker的端口。
-v 表示把本机的文件目录挂载到Docker中
daocloud.io/daocloud/tensorflow:表示tensorflow的国内源地址
bash:表示执行这个脚本的命令
上面这个命令执行以后,没有其它错误打印的话,就算是成功在Docker中启动了Tensorflow。
我们使用下面这个命令来查看Docker的镜像:
sudo docker ps
终端打印结果如下:
可以看到,CONTAINER ID是f6665d6e1991 。
我们要使用这个数值进入Docker。
命令如下:
sudo docker exec -it f6665d6e1991 bash
执行这个命令后,就会进入Tensorflow的环境里面。成功的状态是这样的。
2.在Docker中启动jupyterlab
在上面进入Docker中的Tensorflow环境中后,我们在终端中使用如下命令查看是否安装了jupyterlab。
jupyter lab
执行命令后结果如下:
显示并没有安装jupyterlab,那我们就使用以下命令开始安装吧。
pip install -i https://mirrors.aliyun.com/pypi/simple jupyterlab
上面命令我们使用了阿里云的镜像安装jupyterlab。
终端一大堆打印信息后,显示安装成功。
接下来我们就开始来启动jupyterlab。
先让我们来做一些准备工作,先准备好启动jupyterlab时所需要的一些配置信息,配置信息文件 config.json 如下:
{
"NotebookApp":{
"ip": "*", #表示jupyterlab不限制客户端连接
"port": 8888,#jupyterlab的端口号
"password": "",#jupyterlab的密码
"open_browser": false,#打开jupyterlab时是否开启浏览器
"token": "",#token标志
"allow_root": true#是否允许root权制操作
}
}
这个config.json文件的位置,我们放置在前面挂载在Docker中的TFWork文件夹中。
此时,我们在终端中使用 ls 命令列出文件目录如下:
可以看到,存在TFWork文件夹,config.json配置文件就放在这个文件夹里面。
我们进入TFWork文件夹,命令如下:
cd TFWork/
下面就使用这个配置文件来启动jupyterlab。命令如下:
jupyter lab --config config.json
打印信息部分如下:
可以看到,jupyterlab已经成功启动了。
打开浏览器,输入 http://87d9c4124932:8888/ 即可打开jupyterlab界面。
到这里,就算大功告成了。