《Spring Cloud与Docker 微服务架构实战》学习笔记
简介
Docker 是一个开源的容器引擎,它有助于更快的交付应用。Docker 可将应用程序和基础设置层隔离,并且能将基础设置当做程序一样进行管理。使用 Docker ,可更快的打包、测试以及部署应用程序,并可缩短从编写到部署运行代码的周期
官网:https://www.docker.com/
版本
Docker 17 之后,Docker 可分为两种版本:Docker EE (企业版)和 Docker EE (社区版) 。Docker EE 也就是免费版。
Docker CE 有两种版本,如下所示:
- edge : edge 版本每月发布一次,主要面向喜欢尝试新功能的用户。
- stable (稳定版):stable 版本每季度发布一次,适用于生产。
Docker EE 和 stable 版本的版本号保持一致。
架构
讲解一下图中所包含的租价。
- Docker daemon ( Docker守护进程 ) :Docker daemon 是一个运行在宿主机(DOCKER_HOST)的后台进程。可通过Docker 客户端与之通信
- Client ( Docker客户端 ):Docker 客户端是Docker的用户界面,它可以接受用户命令和配置标识,并与 Docker daemon 通信。图中,docker build 等都是 Docker 的相关命令。
- Images ( Docker 镜像 ):Docker 镜像是一个只读模板,它包含创建 Docker 容器的说明。它和系统安装光盘有点像—使用系统安装光盘可以安装系统,同理,使用Docker 镜像可以运行 Docker 镜像中的程序。
- Container ( Dcoker 容器 ):容器是镜像可运行的实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。可通过 Docker API 或者 CLI 命令来启停、移动、删除容器。
- Registry ( 注册中心 ):Docker Registry 是一个集中存储与分发镜像的服务。构建完 Docker 镜像后,就可以在当前宿主机上运行。但如果想要在其他机器上运行这个镜像,就需要手动复制。此时可借助 Docker Registry 来避免镜像的手动复制。
理解这些概念对使用 Docker 有很大的帮助,而且这些概念本身也不难理解。
需要注意,一个 Docker Registry 可包含多个Docker 仓库,每个仓库可包含多个镜像标签,每个标签对应一个Docker 镜像。这跟Maven的仓库有点类似,如果把 Docker Registry 比作 Maven 仓库的话,那么 Docker 仓库就可理解为某jar包的路径,而镜像标签则可理解为jar包的版本号。
Docker Registry 可分为公有Docker Registry和私有Docker Registry 。最常用的Docker Registry 莫过于官方的Docker Hub,这也是默认的Docker Registry.