zoukankan      html  css  js  c++  java
  • 2020年系统综合实践 第一次作业

    一、课程调查

    首先,从这门课的名字的字面上来理解,这门课应该是需要把之前学的课程综合起来然后做实验,然后从第一次课程上又得知需要了解微服务并且掌握docker最后还需要用到硬件设置,所以最终我感觉这门课可能是开发应用然后在指定的硬件设施环境下运行,最后我希望这门课不会太难。

    二、了解微服务

    • 微服务是什么

    微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。

    • 微服务有什么特点

    1.针对特定服务发布,影响小,风险小,成本低
    2.频繁发布版本,快速交付需求
    3.低成本扩容,弹性伸缩,适应云环境

    • 微服务与传统软件架构相比较下的优点和缺点

    优点:
    1.开发简单
    2.技术栈灵活
    3.服务独立无依赖
    4.独立按需扩展
    5.可用性高
    6.易于和第三方集成
    缺点(挑战):
    1.多服务运行维护困难
    2.系统部署依赖
    3.服务间通信成本
    5.数据的一致性
    6.系统同集成测试
    7.重复工作
    8.性能监控

    • 如何部署

    总的来说就是三大步骤。
    1.持续集成选择;2.环境准备;3.服务部署

    三、学习docker技术

    • docker相关概念

    镜像:类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
    容器:类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
    仓库:似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。

    • 搭建docker环境

    设置仓库

    更新包
    sudo apt-get update
    获取仓库
    sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

    添加 Docker 的官方 GPG 密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

    设置稳定版仓库
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

    安装 Docker Engine-Community

    安装最新版本的 Docker Engine-Community 和 containerd
    sudo apt-get install docker-ce docker-ce-cli containerd.io

    输入以下指令,测试docker是否成功安装
    sudo docker run hello-world

    拉取镜像(Python镜像为例)

    搜索docker hub 中的所有Python镜像
    docker search Python

    选取第一个,并且执行PULL操作
    docker pull python

    查看本地仓库中是否有python镜像
    docker images

    运行python容器
    docker run -it python

    查询运行中的容器(以Ubuntu镜像为例)
    docker ps

    更新镜像(以Ubuntu为例)
    修改容器

    提交修改后的容器做为新的镜像
    docker commit -m="create test file" -a="island" 8390db21ca07 island/ubuntu:test

    删除容器
    docker rm 容器ID

    上传镜像到自己docker hub 仓库
    docker push hub用户名/镜像名:Tag

  • 相关阅读:
    九九乘法表
    计算器界面
    3.2封装的日期类
    杨辉三角
    100以内的素数
    九九 乘法表
    七、logging模块
    六、MySQLdb 模块
    四、浏览器运行模式
    五、configparser模块
  • 原文地址:https://www.cnblogs.com/lokk/p/12706951.html
Copyright © 2011-2022 走看看