1. 利用image运行一个container
sudo docker run -it --net=host tingting
- --net=host:让container可以上网,安装原来的sudo docker run -it tingting方法安装是不能联网的,不知道为什么,加入了--net=host后,container就可以联网了,但不知道还有其他更好的办法不,暂且使用这个方法
- tingting:是image的名字
2. 在container内安装jupyter notebook
pip install jupyter notebook
- jupyter notebook是jupyter的名字
3. commit新的镜像
sudo docker commit --change='CMD jupyter notebook' serene_carson tingtingNew
- serene_carson:正在运行的container的名字
- tingtingNew:想要保存的新的image的名字
4. 利用新的image生成新的container
sudo docker run -it --net=host -v /home/tingting/Dropbox/code/craterDetection/docker:/root/workspace tingtingNew
注:
- 这里利用-v命令将本地的文件夹与docker中的文件夹关联,其中,/home/tingting/Dropbox/code/craterDetection/docker:为本地文件夹;/root/workspace:为docker中的文件夹;该命令可以将/home/tingting/Dropbox/code/craterDetection/docker文件夹映射到/root/workspace文件夹
- tingtingNew为刚刚安装了jupyter notebook的image
5. 打开jupyter,利用浏览器输入网址:localhost:8888
注:不知道为什么,本机安装的jupyter地址没法获取,所以这里使用了localhost
如何获取localhost的地址?
打开一个新的terminal,查看container的地址:sudo docker inspect clever_bohr | grep IPAddress
这里的clever_bohr为该正在运行的container的名字,例子如下
在浏览器中输入:172.17.0.6:8888