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


    (1)课程调查

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

    • 答:我对这门课的认识并不了解,大概是对某个系统的综合运用有关的吧,我理想中的这门课程应该是会包含一部分理论的内容。

    (2)了解微服务

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

    微服务是什么

    • 答:微服务(Microservices)是一种软件开发技术,是面向服务的架构(Service-Oriented Architecture,SOA)的变体,微服务架构将应用程序组成一系列松散耦合的服务集合。在微服务体系结构中,服务是细粒度的,协议是轻量级的。

    微服务的特点

    • 答:它的特点在于能够把一个大型服务拆分成很多小服务,使它们完全彼此独立,并且可以相互通信,可简单理解为分解应用程序的功能,其本质在于分布式、去中心化。

    微服务的优点

    • 1.每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。
      2.微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。
      3.微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
      4.微服务能使用不同的语言开发。
      5.微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。
      6.微服务允许你利用融合最新技术。
      7.微服务只是业务逻辑的代码,不会和HTML,CSS 或其他界面组件混合。

    微服务的缺点

    (3)学习docker技术

    docker相关概念

    (1)docker:Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,容器是完全使用沙箱机制,相互之间不会有任何接口。
    (2)镜像:Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
    (3)容器:器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
    (4)docker compose:Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,可以使用 YML 文件来配置应用程序需要的所有服务。
    (5)Dockerfile:Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
    (6)docker machine:Docker Machine 是一种可以在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。
    (7)Swarm:Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
    (8)k8s:k8s是基于容器的集群管理平台,它的全称,是kubernetes。

    docker的基本入门

    (1)docker的搭建

    • 卸载可能已安装的旧版本
    sudo apt-get remove docker docker-engine docker.io containerd runc
    

    • 更新agt包索引
    sudo apt-get update
    

    • 安装 apt 依赖包,用于通过HTTPS来获取仓库
    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 -
    

    • 再更新 apt 包索引
    sudo apt-get update
    

    • 安装Docker-ce
    sudo apt install docker-ce
    

    • 测试 Docker 是否安装成功
    sudo docker run hello-world
    

    (2)docker的容器操作

    • 获取镜像
    sudo docker pull ubuntu
    

    • 启动容器(创建一个新镜像)
    sudo docker run -it ubuntu /bin/bash
    

    • 查询所有容器
    sudo docker ps -a
    

    • 删除一个容器,如图所示
    sudo docker rm -f <容器名>
    

    (3)docker的镜像操作

    • 查看镜像
    sudo docker images
    

    • 登陆阿里云镜像空间
    sudo docker login --username=<账号名> registry.cn-hangzhou.aliyuncs.com
    

    • 上传镜像
    sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/docker-hub-ruifeng/docker-hub:[镜像版本号]
    sudo docker push registry.cn-hangzhou.aliyuncs.com/docker-hub-ruifeng/docker-hub:[镜像版本号]
    

    • 显示镜像上传成功

    (4)总结

    上传镜像时遇到了一个错误,很长时间解决不掉

    后来发现是前后登陆与上传时,输入的Registry的域名对应不上,导致没有权限,还是有点粗心大意
    后来注意域名对应一致,果然上传成功

  • 相关阅读:
    【Linux/Ubuntu学习 13】ubuntu上好用的pdf软件okular
    【Android Studio使用教程 7】AndroidStudio问题汇总
    【Linux/Ubuntu学习 12】ubuntu下对/etc/profile误修改导致系统不能登录
    【LeetCode 1】算法修炼 --- Two Sum
    【Android Studio使用教程6】Execution failed for task ':×××:compileReleaseAidl'
    【Android Studio使用教程5】使用SDK Manager时, SDK下载更新不了的解决方案(eclipse 也适用)
    【Mood-18】github 使用指南
    【Mood-17】 github中在本地进行上传的时候出现ERROR: Repository not found. fatal: The remote end hung up unexpectedly
    【Mood 16 】史上最全github使用方法:github入门到精通
    【Mood-14】龙虎榜 活跃在github中的1000位中国开发者
  • 原文地址:https://www.cnblogs.com/ruifeng1/p/12712304.html
Copyright © 2020-2023  润新知