Docker: 使用jupyter notebook基础镜像搭建自己的 pytorch 开发环境

启动最基本的jupyter notebook镜像:

使用基础镜像 jupyter/datascience-notebook ,因为它预装了常用的模块:pandas, matplotlib, scipy, seaborn, scikit-learn, scikit-image, sympy, cython, patsy, statsmodel, cloudpickle, dill, numba, bokeh;

dockerrun-it–rm -p 8888:8888 jupyter/datascience-notebook:281505737f8a

1

其中 

docker run是使用一个镜像生成一个运行的容器;

-it指交互模式,启动后终端在运行着的容器里面,与之对应的有-d后端运行模式,启动后终端交互在实体机,要想进入容器需要使用命令docker exec -it container-name bash docker exec -it container-name意为交互模式进入正在运行的一个容器,bash意为进入容器后使用的命令,这里用的是bash,这样进入容器后就能执行shell;

–rm意为退出shell的时候自动删除容器,常在测试的时候使用,这样不用每次修改去删除已有的容器;

-p 8888:8888指的是端口映射,前面的是实体机的端口,后面是容器里面暴露出的端口,两边端口可以不一样,这样同一个镜像可以启动多个对应不同端口的服务;

jupyter/datascience-notebook:281505737f8a是镜像名字,冒号后面的是tag,类似于版本的概念,如果不显式的给出tag每次都回从hub上拉取latest的镜像,如果网络环境不好的话比较费时间,推荐显式给出tag,这样每次构建都会使用已有的镜像。

启动后就可以在终端看到:

[I 04:01:05.691 NotebookApp] Running the core application with no additional extensions or settings

[I 04:01:05.692 NotebookApp] Serving notebooks from local directory: /home/jovyan

[I 04:01:05.692 NotebookApp] 0 active kernels

[I 04:01:05.692 NotebookApp] The Jupyter Notebook is running at:

[I 04:01:05.692 NotebookApp] http://[all ip addresses on your system]:8888/?token=0a3331628e0e35f94eb0ad543faeb3e396fbccfa3ff06e5a

[I 04:01:05.692 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

[C 04:01:05.692 NotebookApp]

    Copy/paste this URL into your browser when you connect for the first time,

    to login with a token:

       

此时是停在容器里面,打开浏览器 访问 即可打开基本的jupyter notebook 环境,后面的token是随机生成的;

启动带权限的容器

生成自定义token

# Python脚本生成密码i

# Python脚本生成密码

import IPython

IPython.lib.passwd()

输入密码生成token

test的token:sha1:6587feaef3b1:6b243404e4cfaafe611fdf494ee71fdaa8c4a563

自定义token运行容器:

docker run -d -p 8888:8888 jupyter/datascience-notebook start-notebook.sh –NotebookApp.password=\’sha1:6587feaef3b1:6b243404e4cfaafe611fdf494ee71fdaa8c4a563\’

这时访问会出现输入密码的页面,输入正确的密码才能进入jupyter。

共享目录

-v参数

docker提供-v参数使实体机和容器共享目录,这对于有状态的服务很有用,目录挂载添加参数: 

-v /home/jason/jason/docker/notebook:/home/jovyan/work

运行带有目录共享的容器

docker run-it–rm-p8888:8888-v/home/jason/jason/docker/notebook:/home/jovyan/work  jupyter/datascience-notebookstart-notebook.sh–NotebookApp.password=\’sha1:6587feaef3b1:6b243404e4cfaafe611fdf494ee71fdaa8c4a563\’

这样在jupyter里新建的notebook都会出现在实体机指定的目录里。由于这个镜像的原因 需在work目录下新建才能在实体机看到。

基于jupyter/datascience-notebook 生成pytorch image

Dockerfile

因为没有合适的pytorch镜像,自己编辑Dockerfile:

新建文件Dockerfile并编辑内容:

FROM jupyter/datascience-notebook:281505737f8a

MAINTAINER Jason.W. \”[email protected]\”

# 下面是按官网的方法安装spotlight

#RUN pip –no-cache-dir install –upgrade install

#RUN pip –no-cache-dir install –upgrade torchvision

# pytorch

RUN conda install pytorch torchvision -c soumith

# spotlight()

RUN conda install -c maciejkula -c soumith spotlight=0.1.2

build

在Dockerfile目录里运行命令:docker build -t jianchengss/datascience-pytorch:0.1 . 

这样就生成了image:jianchengss/datascience-pytorch:0.1可以运行docker images查看本机上所有的image。

从构建的镜像运行容器

docker run-it–rm-p8888:8888-v~/workspace/python/notebooks-pytorch:/home/jovyan/work–privileged=truejianchengss/datascience-pytorch:0.1start-notebook.sh–NotebookApp.password=\’sha1:6587feaef3b1:6b243404e4cfaafe611fdf494ee71fdaa8c4a563\’

最终容器

经过以上步骤,测试完成后既可以执行最终运行的命令 注意 token换成自己的

docker run-d-p8588:8888-v~/workspace/python/notebooks-pytorch:/home/jovyan/work–privileged=true–name=pytorch jianchengss/datascience-pytorch:0.1start-notebook.sh–NotebookApp.password=\’sha1:7aee2f913c8e:17d40f203cbd5c9820f302894a92724c3de9fba6\’

-it –rm 换成了 -d,比之前多的参数有:

–name=pytorch,意为给container取一个名字,好区分和管理,缺省的话名字为一串随机的字符串。

–privileged=true出现文件夹访问权限的时候添加该属性

此时运行docker ps即可查看运行着的容器:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

3bd3e30e9ab3        jianchengss/datascience-pytorch:0.1  \”tini — start-notebo\”  4 seconds ago      Up 3 seconds        0.0.0.0:8588-8888/tcp  pytorch

进入容器操作

容器启动后有时候需要进入容器操作,比方说查看信息或者安装新的软件,此时执行docker exec -it pytorch bash

其他命令

docker stop container-name # 停止运行着的容器

docker rm container-name # 删除已有的容器,要先停止

docker rmi image-name # 删除已有的镜像

LOginwithFACEDOOK`是什么意思

你好,题主。

你的原问题未分段。 原问题分段是\”log in with face dook\”。

该中文翻译为\”用face dook登录\”。其中的face dook应该是美国聊天软件\”face book\”,中文翻译为”脸书“。

因此正确翻译应为\”用脸书登录\”。

关于\”log in\”的一些扩展语句:

In order to log in you have to type in a special password。

为了进入,你必须打入特殊的通行密码。

A log fire crackled in the hearth。

   炉中的木柴烧得噼啪作响。

A log fire roared in the open hearth。

   柴火在敞开着的壁炉里熊熊燃烧。

Do you know how to log in to the system?

   你知道怎么登录进入这个系统吗?

Loginw_thFαcebook怎么下载?

在官网下载。

打开Facebook,找到你想要下载的视频。在视频上面单击鼠标右键,并选择“ShowvideoURL”选项。这时,你会看到一个方框,里面存放着该视频的链接,复制这个视频链接URL。

Your purchases are tied to your login. If you lat

loginwithbook安卓下载的购买都被与您loginwithbook安卓下载的登录名。如果您以后还原您loginwithbook安卓下载的固件 (或甚至购买一部新手机) 不会再支付的大部分项目。连接与 Facebook 登录谷歌

我要注册个游戏账号看不懂英语 谁能帮我

Login with facebook 最上面是提示你如果有facebook账号,可以直接用facebook账号登录

接下来的输入框都是有账号登录输入的信息,第一个是输入用户名或者邮箱(User Name/Email)

接下来是输入密码(Password)

接下来是输入验证码,在那个白色输入框里输入Capocha下的验证码

stay signed in 就是记住用户密码,可勾选,旁边的按钮就是登录的按钮

Trouble signing in?就是问你是否登录出现问题,就点击这个链接

No,I\’m new here!说明你是新用户,就要点击下面Register Now 注册链接

loginwithbook安卓下载的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于loginwithfacebook下载、loginwithbook安卓下载的信息别忘了在本站进行查找喔。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。