• 2020综合实践 第1次综合实践作业


    (1)课程调查

    • 进入大三下学期的后半段,大学阶段的理论课程应该已经修得八九不离十了,在这个时间点迎来系统综合实践这门课,作为培养计划的一门新课程,我们非常希望了解你们对于课程的希望,请写下你对这门课的认识和你理想中的这门课程是怎么样的。

    前半学期学了系统结构的理论课,是了解“系统结构“层面的技术的,因此会以为这门实践会更偏向硬件,就好似以前我们做过的现代接口技术实践一般,连接硬件,再敲几行代码实现相关功能。后来看到老师发出来的二维码,让我们加入博客班级,这个操作让我感到有些些似曾相识,想到了软工这门课(现在想来还有些后怕,希望老师手下留情),既然开了这一门课程,必定是本着要学到一些知识技术的态度来对待这门课程的,对我来说几乎都是新知识,也希望老师上这门课的时候能够深刻讲解,多推荐一些好的学习资料和路径。总之,奥利给!

    (2)微服务

    • 第一次作业我们将接触一种新型的软件架构——微服务(也许部分同学已经有所了解)。大家要做的是学习并了解该技术,微服务是什么,有什么特点,相较于传统的软件架构,它有什么优缺点,它是怎样部署的。

    具体详见戳这里

    但简单举例:看军事新闻的同学应该都知道,一艘航空母舰作战能力虽然很强,但是弱点太明显,就是防御能力太差,单艘的航空母舰很少单独行动,通常航空母舰战斗群才是主要军事力量,你可以把单艘航母理解为的单体应用(防御差,机动性不好),把航母战斗群(调度复杂,维护费用高)理解为微服务。

    (3)学习docker技术

    • docker作为微服务的一种十分典型的代表技术,我们要做的是:

      • 学习了解docker的相关概念(容器、镜像等),了解docker、docker compose、Dockerfile、docker machine、Swarm、k8s是什么,是做什么用的,心中有概念即可;
      • 搭建你自己的docker环境,系统环境不限(主流的有Ubuntu/CentOS/Debian/Windows/MacOS等),完成docker的基本入门,包括但不限于:容器的创建、删除、更新和查询,创建并维护自己的镜像仓库,实现拉取和上传镜像等。
      • docker仓库链接:docker仓库链接
      • 参考资料:Docker DocumentationDocker教程 | 菜鸟教程

    a.docker相关概念

    • Docker: Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    • Docker Compose:微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知.使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具。通过Compose,,使用命令可从YML文件配置中创建并启动服务。Docker Compose教程
    • Dockerfile:Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Dockerfile教程
    • Docker machine:Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。Docker machine教程
    • Swarm:Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。Swarm教程

    b.搭建docker环境

    • 搭建docker环境--->拉取镜像软件(如mysql镜像安装包)--->运行镜像--->产生一个容器(正在运行的软件,运行的mysql)--->创建自己镜像—->push镜像仓库

    搭建环境:Windows10专业版

    需要提醒的是:在安装前,一定要注意电脑环境是否符合安装Docker!!主要有两点:1.Win10专业版及以上 2.hyper-V要开启

    • 使用docker --version命令,出现以下则为成功!
    • 使用docker info命令,查看docker安装信息

    有关镜像的操作

    • 搜寻镜像文件hello-world
    • 查看镜像文件hello-world
    • 其中有关镜像查看命令的集合
    • 运行镜像hello-world
    • 删除镜像文件

    基于容器的操作

    • docker run --name container-name -d image-name命令 创建一个容器
    • docker ps -a命令 查看所有容器(包括停止的)
    • docker rm container-name命令 删除指定容器(注意,删除前要停止容器)

    基于仓库的操作(基于镜像tomcat)

    • 创建新镜像Tomcat
    • 运行镜像Tomcat
    • (指定端口)
    • (生成随机端口)
    • 创建自己的镜像ruin_tomcat
    • 登录仓库
    • 在dockerhub创建仓库,把ruin_ubuntu push到仓库()

    (4)总结

    (1)说明:蓝白是因为同事开启了cmd和PowerShell,因tomcat太大,push tomcat一直超时所以最后换成了ubuntu。后面在尝试tomcat也成功了(千万自己连热点!网络环境要稳定)

    (2)常见指令:常见指令

    (3)push到dockerhub:如何push到仓库

    (4)读后感:刚开始看菜鸟教程了解微服务等相关概念。等到实战时,因为不想用linux,所以升级了电脑用了win10版本。但要注意的是,发现cmd环境下不能用linux指令,PowerShell可以,所以后来用了两者。做的过程可以上b站学习相关的知识,上手更简单哦。

    (5)做的过程中有一点不知道的问题:为什么win10下生成的端口不能用,即localhost 8888 不能链接?尝试了网上很多方法(包括docker的IP+8888也不能)都不能解决我的问题,希望有大佬看到这篇文章后可以解决的我问题,万分感谢!

  • 相关阅读:
    Linux08:帮助与常用快捷键
    Android : 跟我学Binder --- (5) C++实现
    Linux应用调试 :使用gdb和gdbserver进行远程调试
    Mosquitto-1.5在Linux上的安装以及Android客户端的实现
    MySQL-8.0.15在Win10和Ubuntu上安装&使用
    Android : 跟我学Binder --- (4) 驱动情景分析
    Android : Android Studio 更新至gradle 4.10.1后Variants API变化
    Android : 跟我学Binder --- (3) C程序示例
    Android : 关于HTTPS、TLS/SSL认证以及客户端证书导入方法
    Android : 跟我学Binder --- (2) AIDL分析及手动实现
  • 原文地址:https://www.cnblogs.com/ruinzly/p/12677719.html
Copyright © 2020-2023  润新知