目录
一.安装Docker
二.安装ubuntu容器
三.配置python环境
四.上传容器
五.遇到问题及解决方式
六.第一周进程总结
第一周目标:已全部完成
1.安装Docker
- Docker for Windows是一个Docker Community Edition(CE)应用程序。Docker for Windows的当前版本运行在64位Windows 10 Pro,专业版、企业版和教育版(1607年纪念更新,版本14393或更高版本)上。因此我们需要安装win10 64位专业版,安装过程就不用多说了。随便去某个镜像站下载就行了。
-
接下来比较重要的就是要启用hyper-v,开启虚拟化,在启用或关闭windows功能中勾选这项功能。之后就可以重启就可以了。
- 接下来安装docker,安装官方最新版本就行,不然可能会出现无法登录的问题
-
接下来配置一下镜像加速器和各项操作
-
这里首先可以使用阿里云的镜像加速,在阿里云搜索镜像与容器服务,然后找到里面的加速地址复制就可以
-
然右击docker图标,选择setting
-
接下来在把复制过去的加速地址复制在registy-mirrors处即可,下面的experimental后面的参数改成true。(不然可能后面无法复制镜像)
-
之后就可直接在命令行输入指令 docker --version docker version 进行检验安装是否成功,这里可以发现已经安装成功了。
- 之后使用指令 docker run hello-world 运行一下hello-world容器
2.构建ubuntu容器
-
这里直接使用指令docker run -it ubuntu bash安装和下载ubuntu容器
- 运行一下ls指令验证一下安装是否成功,发现成功显示当前目录下文件,证明构建成功
3.构建python环境
-
此处构建python环境是参考此篇链接进行构建,这篇文章给了很多启发;因为windows下的开发环境难以配置,可以做基于我们下载的操作系统容器下构建开发环境,一举两得
-
由于链接中作者已经上传镜像,所以我们可以运行指令 docker pull shenzhongqiang/python-dev:version1 获取镜像
-
接下来我们直接运行容器 docker run -it shenzhongqiang/python-dev:version1
-
然后使用指令 python hello.py 执行python示例程序。
-
也可使使用指令 touch py-test.py 新建一个python文件
-
使用指令 vim py-test.py 编辑代码
-
程序代码如下,这是一个输出9*9乘法表的程序
for i in range(1,10): for j in range(1,10): print("%d*%d=%2d" % (i,j,i*j),end=" ") print ("")
- 使用指令运行代码python py-test.py运行代码
4. 容器打包及上传
-
进行容器打包及上传的目的即是可以让所有人共享你的容器,也可以让他人进行下载,用这种方式,可以提交自己最终的结果。
-
首先先开通仓库,可以通过docker hub的官网直接申请,也可以在通过命令行里直接申请(以这种方式要先登录)。
-
点击repositories,之后可以看到要给自己建的仓库起个名字(要记住),然后接下来就可以直接用了。
-
然后使用指令 docker ps -a 可以看到现有容器
-
这里我们随便讲一个容器打包成镜像
-
使用指令docker commit 23ab96c31156 (容器id) lyz20175104(仓库名称)/ubn(生成的镜像名称):v1(tag)将容器打包成一个镜像
-
然后可以看镜像 docker images 查看新生成的镜像
-
使用指令 docker push lyz20175104/ubn:v1 将镜像上传(要耐心等待,耗时很长,恐怕是由于网络原因)
-
最终在自己的仓库中也可以看到这一镜像,使用docker pull lyz20175104/ubn:v1 ,即可将我上传的镜像pull到自己的docker容器,此处,我才真正体会到docker的便捷性,可以真正做到如果自己部署好容器,打包后上传,其他人就可以直接拉取你上传的镜像进行使用
5.遇到问题及解决方式
虚拟机无法直接打开hyper-v
- 要在win10虚拟机的文件夹中找到vmx文件在其中加入下面三行内容
hypervisor.cpuid.v0 = "FALSE"
mce.enable = "TRUE"
vhv.enable = "TRUE"
-
之后就可以顺利启用hyper-v功能了
镜像下载速度过慢
-
来配置一下镜像加速器
-
这里首先可以使用阿里云的镜像加速,在阿里云搜索镜像与容器服务,然后找到里面的加速地址复制就可以。
- 然右击docker图标,选择setting
- 接下来在把复制过去的加速地址复制在registy-mirrors处即可,然后点击apply&restart启用更改
6. 第一周进程总结
docker是一个开源的应用容器引擎。Docker 的构想是要实现“ Build , Ship and Run Any App, Anywhere”,即通过对应用的封装( Packaging )、分发( Distribution )、部署( Deployment )、运行( Runtime )生命周期进行管理,达到应用组件级别的“ 一次封装,到处运行” 。第一周做课设的时候就已经感受到本次课设难度,由于指导书给出的版本过于落后,也由于指导书的是基于linux操作系统下的,网络上也很少有相关资源及描述。不过由于我们组几个人互帮互助,解决彼此之间的问题,所以也算是初步完成了第一周的进展,所以总题上来说还是很不错的,也进一步了解了docker的机制。发现如果配置成功,真的是特别方便的编程及做实验的利器,而且其所占空间较小,因此是十分方便部署的。