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的域名对应不上,导致没有权限,还是有点粗心大意
后来注意域名对应一致,果然上传成功

posted @ 2020-04-16 13:40  ruifeng1  阅读(174)  评论(0编辑  收藏  举报