第1次实践作业

第1次实践作业

(1)课程调查

​ 对课程的认识:应该是过往综合知识系统的应用,希望这门课可以让我学到更多的知识和技能。

(2)了解微服务

  • 微服务是什么

    • 微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通信。
  • 微服务的特点

    +单一职责:每个微服务都需要满足单一职责原则,微服务本身是内聚的,因此微服务通常比较小。

    • 自治:一个微服务就是一个独立的实体,它可以独立部署、升级,服务与服务之间通过REST等形式的标准接口进行通信,并且一个微服务实例可以被替换成另一种实现,而对其它的微服务不产生影响。
  • 微服务的优点

    • 逻辑清晰:一个仅负责一项很明确业务的微服务,在逻辑上肯定比一个复杂的系统更容易让人理解。
    • 简化部署:微服务则可以对一个微服务进行部署,避免对整个系统部署的复杂。
    • 可扩展:因为不同的功能会面对不同的负荷变化,采用微服务的系统相对单块系统具备更好的可扩展性。
    • 灵活组合:在微服务架构中,可以通过组合已有的微服务以达到功能重用的目的。
    • 技术异构:微服务间松耦合,不同的微服务可以选择不同的技术栈进行开发。
    • 高可靠:微服务间独立部署,一个微服务的异常不会导致其它微服务同时异常。
  • 微服务的缺点

    • 复杂度高:微服务间交互的异常情况更多更复杂,导致代码逻辑更加复杂。采用不同的数据库,保证一致性也是困难的地方。微服务的开发成本更大。
    • 运维复杂:在采用微服务架构时,系统由多个独立运行的微服务构成,需要一个设计良好的监控系统对各个微服务的运行状态进行监控。
    • 影响性能:相对于Monolithic架构,微服务的间通过REST、RPC等形式进行交互,通信的时延会受到较大的影响。

(3)学习docker技术

1.docker相关概念

  • 镜像:Docker镜像(Image),就相当于是一个root文件系统。

  • 容器:镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态 的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。

  • Docker: Docker是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用.Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件地速度。

  • Docker compose: Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

  • Docker file: Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令说明。

  • Docker Machine :是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。

  • Swarm: Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。

  • K8S,就是基于容器的集群管理平台,它的全称,是kubernetes, 是用于自动部署,扩展和管理容器化应用程序的开源系统。

2.搭建docker环境

  • 更新 apt 包索引。

    $ 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 -
    
  • 验证现在是否拥有带有指纹的密钥。

    $ sudo apt-key fingerprint 0EBFCD88
    
  • 设置稳定版仓库

    $ sudo add-apt-repository 
      "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
     $(lsb_release -cs) 
     stable"
    
  • 安装 Docker Engine-Community

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  • 测试是否成功

    $ sudo docker run hello-world
    

3.docker的基本入门

​容器的创建:

​容器的删除:

​容器的查询:

​创建仓库:在dockerhub注册自己的账号,在docker中登录

​上传镜像:
登录网址可以看到上传成功

​导入镜像:

拉取镜像:

原文地址:https://www.cnblogs.com/replusone/p/12718683.html