1.TensorFlow
中文教程 :http://www.tensorfly.cn/
2. Caffe教程
http://caffe.berkeleyvision.org/tutorial/
这个方法其实很简单 就是按照docker 在windows环境下 。使用docker虚拟化方式很快捷的就能虚拟化所需要的环境,即使正式环境 同样使用docker来管理 维护。
大家可以多去了解一下 docker docker的优越性,无论是什么环境,使用docker 可以至始至终保持统一环境。
https://github.com/boot2docker/windows-installer/releases/download/v1.8.0/docker-install.exe
首先进入该页面 下载windows 版本 并按照
这里 还不能直接点击Docker 因为CPU 默认关闭了虚拟化 设置,你需要进入bios界面,选择Virtual 那一项切换到enable 重启后 我们点击打开上面的Docker
其实也可以使用官方的工具箱 ,不过需要配置代理一些东西。
docker基本命令使用
http://www.docker.org.cn/book/docker.html 学习网址 摘录
http://my.oschina.net/huangyong/blog/372491?fromerr=MaRcHuHe
环境虚拟化好了 ,我们开始进入Docker 怎么安装Caffe教程
首先我们进入docker 仓库 找到一个 docker镜像
https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q=caffe&starCount=0
这是docker仓库官方地址 选择 其中的一个caffe
docker pull
docker run -it
同样 tensorFlow
docker run -it b.gcr.io/tensorflow/tensorflow
详细的教程类似于http://blog.csdn.net/zistxym/article/details/42918339
这样我们就可以在window 下使用docker 安装 好相应的环境了 ,主要是比VM直接的方便。
附录 DOCKER 常用命令
3.1 情景:使用centos:latest 启动一个容器,然后在容器中,安装 net-tools, 然会退出容器, 保存改动
docker run -ti centos:latest /bin/bash
bash-4.2#
bash-4.2# yum install -f net-tools
bash-4.2# exit
docker ps -l
会出现如下一个表格
CONTAINER ID IMAGE COMMAND 其他字段...
30f62b73248b centos:latest /bin/bash 其他字段值
保存修改 格式 docker commit [CONTAINER ID] [imageId]
docker commit 30f62b73248b centos/v1
这里我们将修改保存到了镜像 centos/v1
docker images
可以看到这个新的镜像,如果用这个centos/v1 镜像,启动一个容器,则容器可以使用netstat命令(该命令属于 net-toos)
3.2 删除不要的镜像 docker rm [镜像的tag或id]
docker images
docker rmi centos/v1
3.3 重命名镜像
docker tag centos:latest centos_basic
docker images
3.4 删除不用的container, 当启动container, 退出并后,如果不再需要这个container,则可以删除
docker ps -a
docker rm 30f62b73248b
3.5 启动一个容器. 已经用过 -t=tty -i=interact 还有其他参数
docker run -t -i centos:latest /bin/bash
3.5 显示所有docker命令
docker
3.6 显示run命令的支持参数
docker run --help
注:个人常用的命令有 run ps tag pull push save load images
3.7 与宿主机器的文件交互
run -v 参数表示挂载数据,如
docker run -t -i -v /home/wzq/upload-txt.txt:/host/abc.txt dormi330/tmv2 /bin/bash
将/home/wzq/upload-txt.txt 挂载到容器的 /host/abc.txt
从container中 修改/host/abc.txt 后退出,会影响原宿主文件
直接拷贝文件 http://stackoverflow.com/questions/22907231/copying-files-from-host-to-docker-container 格式
sudo cp [src file] /var/lib/docker/aufs/mnt/[容器完整id]/[容器文件位置]
$sudo cp file.txt /var/lib/docker/aufs/mnt/a9b21b28bc059ff5a2763504e7095ffb5877b8bddeb9caa114d1547d2211ab7b/root/file.txt
4. 外网访问container(默认briage模式)
情景:我在container中启动了一个tomcat,使用默认8080端口,并部署了一个最简单的war,现在我想访问这个web app
首先启动容器
docker run -ti -p 9000:8080 centos/webapp /bin/bash docker port centos/app 8000 可以查看8000映射的宿主机端口,一般结合docker run -P 随机分配一个宿主机端口用
然会访问 宿主机器ip:9000就可以访问 容器中的web应用了 (9000是作为此docker进程转发端口,再开启docker新进程就换掉端口)
如 ie 中 http://172.16.1.43:9000/myapp/
宿主机器的ip 可以通过ipconfig 或 ifconfig查看
host网络模式:共享宿主机器网络(端口)
docker run -t -i --net=host dormi330/centos /bin/bash
--net=host 参数表示 容器使用 宿主机的网络
这在docker + zookeeper集群时尤为重要,不用此参数,会导致zookeeper 无法监听端口。
5. 保存镜像
已经做好的images 可以通过save保存为文件,也可以上传到 https://registry.hub.docker.com/
保存为文件 docker save -o [save/image/to/path] [image name]
示例 docker images
docker save -o /home/wzq/docker/centos_v1 centos:latest
加载保存的镜像
docker load -i [save/image/to/path]
示例
docker load -i /home/wzq/docker/centos_v1
上传到 docker hub上 首先到 https://registry.hub.docker.com/ 上注册,然后 add repository 如 dormi330/centos_v1
将自己要上传的镜像 重打tag,名字与你的 repository一致,然后push,期间需要登录一次
docker tag centos:latest dormi330/centos_v1
docker push dormi330/centos_v1
注意事项:使用save/load 的镜像,如果修改了进行push,貌似会有问题,可以去实验下
https://github.com/docker/docker/issues/6782
我个人测试了1.1.2 版本仍然有问题
所以save/load适合于 不再修改的docker 镜像
最好的方式是:将做好的镜像push网上,然后也save此镜像,如果修改则从网上pull该镜像,修改 commit push 然后save,覆盖之前save的文件