如何运行一个新的Jupyter Notebook文件,它不是Docker中预先构build的docker镜像的一部分?
我是Docker的新手。 为了参加Udacity深度学习课程,我必须在使用Docker的Windows机器上设置TensorFlow。 (虽然TensorFlow现在在Windows上可用,但它只支持Python 3.5,但是Udacity课程材料需要Python 2.7,所以我必须坚持使用TensorFlow的Docker方法。
为了完成作业,我按照下面的说明遵循了这些指示 :
- 首先,我安装了docker工具箱 。
- 然后,我使用Docker快速入门terminal启动Docker。 我第一次跑:
docker run -p 8888:8888 --name tensorflow-udacity -it gcr.io/tensorflow/udacity-assignments:0.6.0
。
每一次,我只是在我的dockerterminal运行这个:
docker start -ai tensorflow-udacity
- 最后,在
http://192.168.99.100:8888
的地址栏中,我分配了Jupyter笔记本并开始运行(参见下图)。
然而,我现在想要的是运行不属于预buildUdacity泊坞窗图像的课程的最后一个项目 。 我怎样才能做到这一点? 最后的项目可以在这里find ,“digit_recognition.ipynb”具体是在docker中运行的文件。
任何指导,非常感谢。
首先,你需要一种方法来在你的Docker实例上获得这个Jupyter笔记本(最终的项目)。
什么是复制Docker容器内的文件的简单方法? 那么,不是很多。
- 我们可以附上一卷 。
- 我们可以重写Dockerfile来包含最终的项目。
- 我们也可以进入Docker容器并下载文件。
我将详细介绍最后一个,但是,不要忘记,对于一个问题有很多解决scheme。
我们如何在Docker容器中input?
docker exec -it [container-id] bash
我们如何获得[container-id]
?
docker ps
它会显示一个容器清单,匹配你想要进入的容器。
一旦你在你的容器。 我们如何下载我们想要的文件?
我们应该尝试弄清楚是否有wget
或curl
工具来下载文件。 如果我们不这样做,我们必须从任何可用的包pipe理器安装它们(尝试apt-get
,如果它工作,执行: apt-get install wget
)。
一旦我们有从互联网下载文件的东西,我们必须找出笔记本电脑的存储位置。 这是困难的一部分。
寻找任何可能包含的文件夹,也可能有某种魔术一class轮使用find
types,不幸的是,我不是魔法向导了。
让我们假设你是在好文件夹中。
就这样! 重新加载您的页面,你应该看到显示的笔记本。
附注:您可能还需要在容器中安装额外的依赖项。
另一种更简单的方法是:
- 只需启动你的容器,像这样:$ docker start -ai tensorflow-udacity
- 然后,点击上传button,find最终的项目iPython Notebook文件并上传。
而已。 无论你做什么改变都会被保留,你将能够看到容器中的新文件向前!