1.课程调查
最最开始的时候以为这次的实践应该是对于一些硬件类型的认识和操作,应该要借助于一些仿真软件来进行吧。结果上课的时候发现自己弄错了(一时似有大巴子呼脸上的痛尬感),然后就是听到需要用到博客园的时候了,讲实话,上学期确实对软工几近完全放养式的教学方式适应不了,导致现在想起仍有后怕,特别是这次的实践课也需要用到博客园,这剧情开头环节咋好像是走过的……再后来,发现老师给了相关资料,突然发觉还好,不至于会再像无头苍蝇不晓得咋弄。其实都说作为大三学生,我们该怎样怎样的了,不至于要老师手把手教学,确实是吧。但是哪个人刚踏入一个对自己而已新的领域知识不是像个小孩一样,也都希望能够多得到一些指引,终归走起来会轻松些。所以,还是希望能够得到老师多一些建议式的帮助,这样也不至于要到最后做出一些成果时才有幸福感哈哈
2.了解微服务
2.1微服务的设计原则
一是各司其职
二是服务高可用和可扩展性
2.2微服务的优点
微服务最大的优点是,它们往往比传统的应用程序更有效地利用计算资源。这是因为它们通过扩展组件来处理功能瓶颈问题。这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个完整的应用程序的全新迭代。最终的结果是有更多的资源可以提供给其它任务。
微服务应用程序的另一个好处是,它们更快且更容易更新。当开发者对一个传统的单体应用程序进行变更时,他们必须做详细的QA测试,以确保变更不会影响其他特性或功能。但有了微服务,开发者可以更新应用程序的单个组件,而不会影响其他的部分。测试微服务应用程序仍然是必需的,但它更容易识别和隔离问题,从而加快开发速度并支持DevOps和持续应用程序开发。
第三个好处是,微服务架构有助于新兴的云服务,如事件驱动计算。类似AWS Lambda这样的功能让开发人员能够编写代码处于休眠状态,直到应用程序事件触发。事件处理时才需要使用计算资源,而企业只需要为每次事件,而不是固定数目的计算实例支付。
2.3所以,啥是微服务
所谓的微服务是SOA架构下的最终产物,该架构的设计目标是为了肢解业务,使得服务能够独立运行(其实单看这个的时候还是没咋看懂,SOA架构,emmmm。。但了解了设计原则和优点例子其实就差不多知道是怎样的一个东西了)
3.学习docker技术
--终于到了紧张刺激的学知识技术打代码环节了!但还得安装东西来着?希望安装的顺利吧。。
3.1docker的相关概念
初看完的时候还是没啥概念,知道用哪和咋用的时候再回来写博客的时候就有了
容器:镜像运行时的实体
镜像:相当于是一个 root 文件系统
Docker:一个用于开发,交付和运行应用程序的开放平台。能够将应用程序与基础架构分开,从而可以快速交付软件
Docker compose:用于定义和运行多容器 Docker 应用程序的工具
Dockerfile:用来构建镜像的文本文件
Swarm:Docker 的集群管理工具
K8s:基于容器的集群管理平台
3.2环境配置
3.2.1设置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 -
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。
sudo apt-key fingerprint 0EBFCD88
使用以下指令设置稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu (lsb_release -cs) stable"
3.2.2安装Docker Engine-Community
更新 apt 包索引。
sudo apt-get update
安装最新版本的 Docker Engine-Community 和 containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io
测试 Docker 是否安装成功
sudo docker run hello-world
测试图
4.学习docker技术(本次作业核心区)
在这先插入一个东西,阿里云加速器,主要是在使用容器的时候发现运行的好慢,卡了好久,然后就去问同学是不是也如此,结果欣喜的发现原来是漏了这么好用的东西。
先是到阿里云注册得到自己的阿里云加速地址,然后再配置镜像加速器,通过修改daemon配置文件来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["自己的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
完了之后发现,再去运行容器,速度显然快了不少,还不错
关于容器的使用
镜像获取
sudo docker pull ubuntu
容器查询
sudo docker ps -a
(我觉得是一般是各操作的前置吧,毕竟几乎都需要容器ID)
容器信息查询
sudo docker inspect <容器ID>
容器删除
sudo docker rm -f <容器ID>
容器信息更新及选择方式
docker container update --help
容器启动与停止
sudo docker start <容器 ID>
sudo docker stop <容器 ID>
容器启动(交互)
sudo docker run -it ubuntu /bin/bash
(-i: 交互式操作,-t: 终端,交互中的exit为退出终端)
关于镜像的操作
查看本地镜像
sudo docker images
搜索镜像
sudo docker search httpd
下载镜像
sudo docker pull httpd
删除镜像
docker rmi hello-world
关于docker hub仓库管理
登录仓库
docker login
上传镜像
sudo docker tag ubuntu 文件位置
sudo docker push 文件位置
查看仓库中的镜像
sudo docker pull 文件位置
退出仓库
sudo docker logout