第1次实践作业

1.课程调查

好多未知错误要百度啊,又是一门百度嵌入式学科^^_

2.了解微服务

2.1微服务是什么

所谓的微服务是SOA架构下的最终产物,该架构的设计目标是为了肢解业务,使得服务能够独立运行

2.2微服务的特点

微服务最大的优点是,它们往往比传统的应用程序更有效地利用计算资源。这是因为它们通过扩展组件来处理功能瓶颈问题。这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个完整的应用程序的全新迭代。最终的结果是有更多的资源可以提供给其它任务。
微服务应用程序的另一个好处是,它们更快且更容易更新。当开发者对一个传统的单体应用程序进行变更时,他们必须做详细的QA测试,以确保变更不会影响其他特性或功能。但有了微服务,开发者可以更新应用程序的单个组件,而不会影响其他的部分。测试微服务应用程序仍然是必需的,但它更容易识别和隔离问题,从而加快开发速度并支持DevOps和持续应用程序开发。
第三个好处是,微服务架构有助于新兴的云服务,如事件驱动计算。类似AWS Lambda这样的功能让开发人员能够编写代码处于休眠状态,直到应用程序事件触发。事件处理时才需要使用计算资源,而企业只需要为每次事件,而不是固定数目的计算实例支付。

2.3微服务的部署

基于主机(物理机或虚机)的多服务实例
基于主机(物理机或虚机)的服务实例
基于容器的服务实例
无服务器部署

3.docker的安装与环境配置

3.1docker的有关知识

3.1.1 容器

容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

3.1.2 镜像

Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义。

3.1.3 仓库

仓库可看着一个代码控制中心,用来保存镜像。

3.1.4 docker

Docker 是一个用于开发,交付和运行应用程序的开放平台。能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,减少编写代码和在生产环境中运行代码之间的延迟。

3.1.5 docker compose

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

3.1.6 Dockerfile

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

3.1.7 docker machine

Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。

3.1.8 Swarm

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

3.1.9 k8s

k8s是基于容器的集群管理平台,它的全称,是kubernetes。

3.2docker环境的配置

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技术

4.1配置加速器

在同学的帮助下,我走上了阿里云的快车道^^_

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["自己的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

辣是真滴流批这个加速加的

4.2关于容器的操作

镜像获取

sudo docker pull ubuntu

容器查询

sudo docker ps -a 有容器ID才能对容器进行操作

容器信息查询

sudo docker inspect 容器ID

容器信息更新及选择方式

docker container update --help

容器的启动与停止

sudo docker start <容器 ID>
sudo docker stop <容器 ID>

容器的交互

sudo docker run -it ubuntu /bin/bash
(-i: 交互式操作,-t: 终端,交互中的exit为退出终端)

4.3关于镜像的操作

获取本地镜像信息

sudo docker images

搜索镜像

sudo docker search httpd

下载镜像

sudo docker pull httpd

删除镜像(在删除镜像之前要先删除容器)

sudo docker rm-f 容器ID
sudo docker rmi 镜像名

4.4关于仓库管理

登录仓库

sudo docker login

上传镜像

sudo docker tag ubuntu 文件位置
sudo docker push 文件位置


可在docker hub下看到创建的文件夹

查看仓库中的镜像

sudo docker pull 文件位置

退出仓库

sudo docker logout

posted @ 2020-04-17 11:48  夜色怡人、  阅读(208)  评论(0编辑  收藏  举报