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

(1)课程调查

  • 对于这门课的认识感觉就只能从名字来说了,应该是综合了前三年所学知识的一门实践课吧。教学方式用博客园班级来说感觉可能会跟软工实践差不多,但还是希望别跟软工那么虐了

(2) 了解微服务

  • 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务于服务间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。
  • 什么是微服务架构?
  • 一篇故事告诉你什么是微服务架构!

(3)学习docker技术

相关概念

  • Docker:是一个基于Go语言的开源应用容器引擎,它能够让开发者打包应用及依赖包到一个轻量级、可移植的容器中后发布到linux机器上实现虚拟化。简单来说,Docker是一个基于虚拟化服务的新型技术,是一个将运行时环境打包成容器进行传输的技术,实现 ”一次构建,处处运行的“理念
  • Docker Compose:是用来管理你的容器的,有点像一个容器的管家,想象一下当你的Docker中有成百上千的容器需要启动,如果一个一个的启动那得多费时间。有了Docker-Compose你只需要编写一个文件,在这个文件里面声明好要启动的容器,配置一些参数,执行一下这个文件,Docker就会按照你声明的配置去把所有的容器启动起来,但是Docker-Compose只能管理当前主机上的Docker,也就是说不能去启动其他主机上的Docker容器
  • Docker Swarm:是一款用来管理多主机上的Docker容器的工具,可以负责帮你启动容器,监控容器状态,如果容器的状态不正常它会帮你重新帮你启动一个新的容器,来提供服务,同时也提供服务之间的负载均衡,而这些东西Docker-Compose 是做不到的
  • Dockerfile: 是一个Docker镜像的描述文件,我们可以理解成火箭发射的A、B、C、D…的步骤。其内部包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
  • Docker Maching是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。 管理的虚拟主机可以是机上的,也可以是云供应商。
  • K8s:它本身的角色定位是和Docker Swarm 是一样的,也就是说他们负责的工作在容器领域来说是相同的部分,当然也有自己一些不一样的特点。
  • Docker,Docker Compose,Docker Swarm,Kubernetes之间的区别

环境搭建

  • 搭建过程参考Ubuntu Docker 安装
  • 安装完后执行sudo docker run hello-world命令验证安装成功

容器使用

镜像基础

  • 容器的使用要基于镜像,sudo docker images查看当前主机镜像,发现只有刚才的hello-world镜像,没有Ubuntu镜像。
  • sudo docker pull ubuntu获取Ubuntu镜像后重新查看当前镜像,列表中已经多出Ubuntu镜像

创建容器

  • sudo docker run -itd --name==test_con ubuntu使用Ubuntu镜像创建一个名为test_con的容器,用sudo docker ps -a查看创建前后的容器列表对比

删除容器

  • sudo docker rm -f 27f56c9bbac1来删除刚创建的test_con容器,命令中27f56c9bbac1为容器ID,删除成功会返回其ID

创建镜像仓库,实现拉取和上传镜像

  • 由于DockerHub上不去,所以我用了阿里云的镜像仓库,将本地的ubuntu镜像上传到镜像仓库



  • 从阿里云镜像仓库拉取镜像

总结

  • 总的来说大部分教程都能从参考文献中找到,过程中遇到了挺多困难,最后就是疯狂百度,百度解决一切问题
原文地址:https://www.cnblogs.com/fzu-Z9h/p/12721923.html