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

(1)课程调查

  • 刚开始的时候不知道这是一门什么样的课,以为这是硬件方面的课程,经过老师的介绍后才明白这是软件方面的,形式有一点点像软件定义网络课程。希望能学好这门课程,提高专业方面的能力

(2)了解微服务

  • 微服务是什么?
    • 微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
  • 微服务的特点
    • 微服务把每个职责单一的功能放在一个独立的服务中。
    • 每个服务允许在一个独立的进程中。
    • 每个服务有多个实例在运行,每个实例可以运行在容器化平台内,达到平滑扩展伸缩的效果。
    • 每个服务有自己的数据存储,实际上,每个服务应该有自己独享的数据库、缓存、消息队列等资源。
    • 每个服务应该有自己的运营平台,以及独享的运营人员,这包括技术运维和业务运营人员。每个服务都高度自治,内部的变化对外透明。
    • 每个服务都可根据性能需求独立的进行水平伸缩。
  • 微服务的优点
    • 微服务是松藕合的,无论是在开发阶段或部署阶段都是独立的。
    • 能够快速响应, 局部修改容易, 一个服务出现问题不会影响整个应用。
    • 易于和第三方应用系统集成, 支持使用不同的语言开发, 允许你利用融合最新技术。
    • 每个微服务都很小,足够内聚,足够小,代码容易理解。团队能够更关注自己的工作成果, 聚焦指定的业务功能或业务需求。
    • 开发简单、开发效率提高,一个服务可能就是专一的只干一件事, 能够被小团队单独开发,这个小团队可以是 2 到 5 人的开发人员组成。
  • 微服务的缺点
    • 微服务架构带来过多的运维操作, 可能需要团队具备一定的 DevOps 技巧.
    • 分布式系统可能复杂难以管理。因为分布部署跟踪问题难。当服务数量增加,管理复杂性增加。
  • 微服务的部署*
    • 单主机多服务实例模式
    • 单主机单服务实例模式
    • 单容器单服务实例模式

(3)学习docker技术

  • Docker的安装搭建

    • 卸载旧版本
        sudo apt-get remove docker docker-engine docker.io containerd runc
    
    • 设置仓库

      • 更新 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 -
      
      • 通过搜索指纹的后8个字符,验证是否拥有带有指纹的密钥
          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

      • 更新 apt 包索引
          sudo apt-get update
      
      • 安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本
          sudo apt-get install docker-ce docker-ce-cli containerd.io
      
      • 列出仓库中可用的版本
          apt-cache madison docker-ce
      

      • 使用第二列中的版本字符串安装特定版本,例如 5:19.03.83-0ubuntu-xenial
          sudo apt-get install docker-ce=5:19.03.8~3-0~ubuntu-xenial docker-ce-cli=5:19.03.8~3-0~ubuntu-xenial containerd.io
      
      • 测试 Docker 是否安装成功
          sudo docker run hello-world
      

  • 容器使用

    • 容器的创建

    • 容器的查询

    • 容器的更新

    • 容器的删除

    • 停止容器

    • 重启容器

  • 镜像

    • 创建docker仓库

    • 登录Docker Hub

      • 执行 docker login 指令,并输入账号密码
    • 查找镜像

    • 拖取镜像

      • 使用命令 docker pull 来下载镜像
    • 列出镜像列表

      • 使用 docker images 来列出本地主机上的镜像
    • 删除镜像

      • 以hello-world镜像为例,先用 docker rm container ID删除容器,再通过docker rmi hello-world删除
    • 上传镜像

          sudo docker tag ubuntu:latest registry.cn-hangzhou.aliyuncs.com/f_wh/ubuntu:latest
          sudo docker image ls 
      

          sudo docker push registry.cn-hangzhou.aliyuncs.com/f_wh/ubuntu:latest
      

      • 在仓库中找到镜像,上传成功

(4)总结

  • 遇到的问题
  • 解决方法
    • 进入 etc/docker 目录下,新建daemon.json文件
    • 在daemon.json文件中输入以下内容
    • 然后执行以下代码
原文地址:https://www.cnblogs.com/fwhdbk/p/12698307.html