广安门内网站建设,北京注册公司查询,做网站的实训报告,可以自己制作广告的软件一、背景
思考#xff1a;
在一个项目的部署阶段#xff0c;往往需要部署到云服务器或者是终端设备上#xff0c;而环境的搭建往往是最费时间和精力的#xff0c;特别是需要保证运行环境一致性#xff0c;有什么办法可以批量部署相同环境呢#xff1f;
Docker本质——…一、背景
思考
在一个项目的部署阶段往往需要部署到云服务器或者是终端设备上而环境的搭建往往是最费时间和精力的特别是需要保证运行环境一致性有什么办法可以批量部署相同环境呢
Docker本质——打包环境
将本机的环境和代码一同打包在docker环境中生成一个容器可以部署到任何服务器和机器下节省了环境安装的精力并确保了环境的一致性
二、window安装docker
Window建议安装docker toolbox因为window家庭版安装docker for window可能会出现不适配情况
下载地址https://github.com/docker-archive/toolbox/releases
多个版本选择一个版本即可下载exe版本 安装过程就是无脑安装即可默认安装在C盘安装后会出现两个程序一般使用第一个程序 打开Docker Quickstart Terminal默认会下载一个最新的镜像由于网络问题会出现以下问题 这里手动复制下载的地址在浏览器中下载后放在C:\Users\用户名\ .docker\machine\cache下 重新运行一遍短暂初始化后出现以下界面即代表Docker安装成功 接下来就可以实际使用docker来安装一个环境了
三、配置阿里云加速器
官方容器下载地址https://hub.docker.com/
官方下载存在一个问题就是下载速度不够快这里需要配置以下阿里云加速器
步骤
1、登录阿里云平台找到镜像加速器选项
网站地址https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 2、在Docker中配置执行以下命令
1.docker-machine ssh default
2.sed -i s|EXTRA_ARGS|EXTRA_ARGS--registry-mirror 加速器地址|g /var/lib/boot2docker/profile
3.exit
4.docker-machine restart default在cmd命令行下执行docker info如出现下面信息表示加速成功 四、下载pytorch镜像
首先在官方hub里面找需要安装的镜像名称
https://hub.docker.com/r/pytorch/pytorch
这里复制右边的命令到本地docker启动窗口即可安装完毕后查看docker images即可看到
启动该镜像
docker run -it pytorch/pytorch这里可以看出该镜像自带的系统还是ubuntu并且已经预装好了python3.7当然这是一个极简环境也就是说很多要用的包是没有的需要自己安装
比如要安装一个opencv的话最好用上阿里源进行安装这样安装速度是最快的
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple这里镜像已经成功安装了下面可以跑一个简单的分类案例试试
五、docker中run一个分类案例
首先需要将本地的项目copy到容器中在拷贝地址下打开git 后面这一串是容器id和需要拷贝到的文件夹地址默认会创建
安装缺少的一些包后运行一下程序看看能否成功
这里我们是通过服务部署的方式运行一个模型所以会看到服务开启的界面 但是我们需要打开另一个docker窗口开执行程序这里就需要用到新的命令了
docker exec -it id /bin/bash可以看出我们成功请求并且得到返回结果到这里可以开始自由的在docker跑自己的程序了缺什么就安装什么即可
六、上传自己的docker环境
在阿里云容器管理界面创建一个新的仓库 点击管理会有一些操作命令指示根据步骤在本机执行即可
1、登录阿里云Docker Registry
docker login --username registry.cn-hangzhou.aliyuncs.com
2、将镜像推送到Registry
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/..../pytorch:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/.../pytorch:[镜像版本号]这里显示已经正在上传中镜像文件比较大需要的时间比较长
七、Docker的一些进阶操作
在使用Jeston jx1开发版时候使用docker配置GPU环境需要操作复杂一些这里简单讲述下
首先就是将本机的Nvidia环境映射到docker容器中
docker run --runtime nvidia -it 【容器id】 /bin/bash这里runtime超参数可以将本机的CUDA的环境一些动态库直接映射到容器中去在使用的时候也遇到一些问题就是映射并没有完全成功其原因找了很久最后在ubuntu下重新安装一遍nvidia-docker这个包解决了遇到问题的可以试试这时候容器中的nvcc版本就是和本机一致的
下一步就是将本机的一些数据或模型映射到容器中虽然也可以用docker cp命令将文件copy到容器中但如果大的数据集这个时间会花费很长采用映射的方式是最方便快捷的并且生成的新的图像也可以在本机上直接访问不需要来回传输
docker run -it --rm --runtime nvidia -v 【容器文件路径】:/【本机文件路径】 【容器ID】 /bin/bash还有一些进阶使用比如如何在docker中使用摄像头如何在docker运行带图形化的界面程序在这里就不具体讲解了如果有需要的可以查阅一下文档
总结
本篇Docker入门文章并没有具体讲解Docker的一些底层原理而是从实际使用的角度出发用一个图像分类的案例讲述了如何拉取镜像并使用如何上传自己的镜像供他人使用
如果有一些问题或者想法的话欢迎私信探讨
最后放最爱的小企鹅