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

1.课程调查

进入大三下学期的后半段,大学阶段的理论课程应该已经修得八九不离十了,在这个时间点迎来系统综合实践这门课,作为培养计划的一门新课程,我们非常希望了解你们对于课程的希望,请写下你对这门课的认识和你理想中的这门课程是怎么样的。

一开始以为这门课是计算机系统结构的配套实验课...以为和组原实践,接口实践差不多,但是好像并不是这样。了解到这是一门新课程,之前对微服务、docker等没什么了解,希望老师能讲得详细一些。


2.了解微服务

第一次作业我们将接触一种新型的软件架构——微服务(也许部分同学已经有所了解)。大家要做的是学习并了解该技术,微服务是什么,有什么特点,相较于传统的软件架构,它有什么优缺点,它是怎样部署的。


在知乎上看到很完整的回答:什么是微服务架构?

3.学习docker技术

docker作为微服务的一种十分典型的代表技术,我们要做的是:

学习了解docker的相关概念(容器、镜像等),了解docker、docker compose、Dockerfile、docker machine、Swarm、k8s是什么,是做什么用的,心中有概念即可;
搭建你自己的docker环境,系统环境不限(主流的有Ubuntu/CentOS/Debian/Windows/MacOS等),完成docker的基本入门,包括但不限于:容器的创建、删除、更新和查询,创建并维护自己的镜像仓库,实现拉取和上传镜像等。


3.1 了解相关概念

  • Docker
    一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    Docker 包括三个基本概念:
    镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
    容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
    仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。
  • Docker Compose
    Compose是用于定义和运行多容器Docker应用程序的工具。通过 Compose,可以使用YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创建并启动所有服务。
  • Dockerfile
    Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
  • Docker Machine
    Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker(比如VirtualBox、 Digital Ocean、Microsoft),并可以使用docker-machine命令来管理主机;也可以集中管理所有的docker主机,比如快速的给100台服务器安装上docker。
  • Swarm
    Docker Swarm是Docker的集群管理工具。它将 Docker主机池转变为单个虚拟Docker主机。它提供了标准的 Docker API,所有任何已经与 Docker守护程序通信的工具都可以使用Swarm轻松扩展到多个主机。
  • k8s
    Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本。它是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

3.2 搭建docker环境(ubuntu)

3.2.1 设置仓库

更新 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"

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.i

启动docker

sudo systemctl start docker

配置阿里云镜像加速器

重启

systemctl restart docker

hello-world

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

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

启动并退出容器

查询所有的容器

停止、启动、删除一个容器

查询镜像列表

3.2.4创建并维护自己的镜像仓库

在阿里云创建一个镜像仓库

登录仓库

上传镜像

原文地址:https://www.cnblogs.com/cy0850/p/12695412.html