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

    返回顶部

  • 相关阅读:
    ajax获取后台数据,显示到input输入框里面
    js的比较运算符含义和示例和逻辑运算符
    Vue的 on +bind+if +for
    Vue入门例子
    Spring-AOP
    fatal: remote origin already exists git出现这个
    springmvc-文件上传下载
    springmvc-ajax
    查询Id最大的基础上+1
    bootstrap select去掉右边小三角
  • 原文地址:https://www.cnblogs.com/20175104lyz/p/12701368.html
Copyright © 2011-2022 走看看