如何运行一个新的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

它会显示一个容器清单,匹配你想要进入的容器。

一旦你在你的容器。 我们如何下载我们想要的文件?

我们应该尝试弄清楚是否有wgetcurl工具来下载文件。 如果我们不这样做,我们必须从任何可用的包pipe理器安装它们(尝试apt-get ,如果它工作,执行: apt-get install wget )。

一旦我们有从互联网下载文件的东西,我们必须找出笔记本电脑的存储位置。 这是困难的一部分。

寻找任何可能包含的文件夹,也可能有某种魔术一class轮使用findtypes,不幸的是,我不是魔法向导了。

让我们假设你是在好文件夹中。

wget https://raw.githubusercontent.com/udacity/machine-learning/master/projects/digit_recognition/digit_recognition.ipynb

就这样! 重新加载您的页面,你应该看到显示的笔记本。

附注:您可能还需要在容器中安装额外的依赖项。

另一种更简单的方法是:

  • 只需启动你的容器,像这样:$ docker start -ai tensorflow-udacity
  • 然后,点击上传button,find最终的项目iPython Notebook文件并上传。

而已。 无论你做什么改变都会被保留,你将能够看到容器中的新文件向前!

在这里输入图像说明