zoukankan      html  css  js  c++  java
  • 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协议详解
    HTTP协议详解
    网络传输协议 UDP & TCP 详解
    Socket(套接字)基础概念
    网络基础
    OSI 七层协议
    经典SQL题 1/25/50/100美分,多少种可能拼凑成2美元
    5.1一阶谓词逻辑
    4.4符号视角下的科学
    4.3领域语言与自然语言的比较
  • 原文地址:https://www.cnblogs.com/fwhdbk/p/12698307.html
Copyright © 2011-2022 走看看