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


    课程调查

    开始以为会是偏硬件的课程,后来发现是偏软工的课程,希望学习的时候能有一个比较好的学习方向,老师能适当提供些学习资料。

    了解微服务

    微服务

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

    特点

    • 针对特定服务发布,影响小,风险小,成本低

    • 频繁发布版本,快速交付需求

    • 低成本扩容,弹性伸缩,适应云环境

    优点

    • 每个服务独立存在,所以可以单独部署,不用每次发布某个功能都经历一次全服务发布
    • 遵循单一功能原则,自服务之间可以通过RESTFUL或者RPC调用,功能解藕
    • “细粒度” 的高可扩展性,每个服务都可以单独扩展,单独负载均衡
    • 去中心化,尽可能地实现 “自服务”
    • 有利于简化单独的开百发测试以及部署,对开发团队友好

    缺点

    • 服务的可用性和维护性高度依赖于服务治理,如度果治理得不好将会是灾难
    • 某些服务可能造成性能瓶颈,某些服务的宕机可能导致很多服务受影响
    • 服务配置繁琐

    部署

    • 单主机多服务实例模式
    • 单虚拟机单服务实例
    • 单容器单服务实例

    Docker的安装/环境配置

    相关概念

    镜像 :Docker镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统

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

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

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

    Docker Machine:是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker

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

    k8s:是一个跨主机集群的开源的容器调度平台,它可以自动化应用容器的部署、扩展和操作 , 提供以容器为中心的基础架构

    搭建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 add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

    更新apt程序包索引

    $ sudo apt-get update

    安装最新版本的 Docker Engine-Community 和 containerd

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io

    测试 Docker 是否安装成功

    配置阿里云镜像加速器

    sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://v54081p6.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

    容器的创建、删除、更新和查询

    获取镜像

    使用 docker pull 命令来载入 ubuntu 镜像

    $ sudo docker pull ubuntu

    查看容器
    1. 查看正在运行容器:docker ps

    2. 查看所有容器(启动过的历史容器):docker ps -a

    启动容器
    1. 创建交互式容器

    $ docker run -it ubuntu /bin/bash

    1. 创建守护式容器

    参数说明:

    • -i:表示运行容器
    • -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
    • --name :为创建的容器命名
    • -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
    停止与启动容器
    • 停止正在运行的容器:docker stop $CONTAINER_NAME/ID
    • 启动已运行过的容器:docker start $CONTAINER_NAME/ID
    更新、删除容器
    • 更新容器:$ sudo docker container update --help

    • 删除容器:$ sudo docker rm -f $CONTAINER_NAME/ID

    Docker hub仓库

    登录

    需要输入用户名和密码,登录成功后,就可以从Docker Hub上拉取账号下的全部镜像

    push镜像到仓库

    此时可到仓库查看发现已成功push

    从仓库获取镜像,并查看镜像列表

    注销登陆

  • 相关阅读:
    基于SAAJ的客户端
    SOAP消息的结构
    服务端的思考
    最简单的Web Service实现
    PLSQL的注释技巧
    复杂分支图示
    Tomcat常见错误
    maven常见错误
    SpringMvc参数传递中乱码问题
    springmvc常遇到的错误
  • 原文地址:https://www.cnblogs.com/ddaydream/p/12723400.html
Copyright © 2020-2023  润新知