20175104 李屹哲 基于Windows的信息安全专业导论学习容器的构建 课程设计 第一周进展

目录

一.安装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的机制。发现如果配置成功,真的是特别方便的编程及做实验的利器,而且其所占空间较小,因此是十分方便部署的。

返回顶部

posted @ 2020-04-15 21:33  20175104李屹哲  阅读(142)  评论(0编辑  收藏  举报