本文主要介绍通过 Docker 来部署通过.NET Core 开发的微服务架构,部署的微服务主要包括统一网关(使用 Ocelot 开发)、统一认证(IdentityServer4)、应用服务(ASP.NET Core WebAPI)。
一、Docker 原理
对 Docker 最简单并且带有一定错误的认知就是“Docker 是一种性能非常好的虚拟机”。
但是这是有一定错误的说法。Docker 相比于传统虚拟机的技术来说先进了不少,具体表现在 Docker 不是在宿主机上虚拟出一套硬件后再虚拟出一个操作系统,而是让 Docker 容器里面的进程直接运行在宿主机上(Docker 会做文件、网络等的隔离),这样一来 Docker 会“体积更轻、跑的更快、同宿主机下可创建的个数更多”。
-
Docker 中有三个核心概念:Image、Container、Repository。
-
Image:大家对 镜像 的概念不会陌生。但和 windows 的那种 iso 镜像相比,Docker 中的镜像是分层的,可复用的,而非简单的一堆文件迭在一起(类似于一个压缩包的源码和一个 git 仓库的区别)。
-
Container:容器的存在离不开镜像的支持,他是镜像运行时的一个载体(类似于实例和类的关系)。依托 Docker 的虚拟化技术,给容器创建了独立的端口、进程、文件等“空间”,Container 就是一个与宿机隔离“容器”。容器可宿主机之间可以进行 port、volumes、network 等的通信。
Repository:Docker 的仓库和 git 的仓库比较相似,拥有仓库名、tag。在本地构建完镜像之后,即可通过仓库进行镜像的分发。
常用的 Docker hub 有:
https://hub.docker.com/(docker 官方)
https://cr.console.aliyun.com/

1532

被折叠的 条评论
为什么被折叠?



