Docker简介
Docker是一个开源的容器引擎,它有助于更快地交付应用。Docker可将应用程序和基
础设施层隔离,并且能将基础设施当做程序一样进行管理。使用Docker,可更快地打
包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。
Docker架构
- Docker daemon(Docker守护进程)
Docker daemon是一个运行在宿主机(DOCKER_HOST)的后台进程。可通过Docker客户端与之通信。 - Client(Docker客户端)
Docker客户端是Docker的用户界面,他可以接受用户命令和配置标识,并与Docker daemon通信。图中docker build等都是Docker的相关命令。 - Images(Docker镜像)
Docker镜像是一个只读模板,它包含创建Docker容器的说明。他和系统安装光盘有一点点像——使用系统安装光盘可以安装系统,同理,使用Docker镜像可以运行Docker镜像中的程序。 - Container(容器)
容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。可通过Docker API或者CLI命令来启停、移动、删除容器。 - Registry
Docker Registry是一个集中存储与分发镜像的服务。构建完Docker镜像后,就可在当前
宿主机上运行。但如果想要在其他机器上运行这个镜像,就需手动复制。此时可借助
Docker Registry来避免镜像的手动复制。
一个Docker Registry可包含多个Docker仓库,每个仓库可包含多个镜像标签,每个标签
对应一个Docker镜像。这跟Maven的仓库有点类似,如果把Docker Registry比做Maven
仓库的话,那么Docker仓库就可理解为某jar包的路径,而镜像标签则可以了理解为jar
包的版本号。
Docker Registry可分为公有Docker Registry和私有Docker Registry。最常用的Docker
Registry莫过于官方的Docker Hub,这也是默认的Docker Registry。Docker Hub上存放着
大量优秀的镜像,可使用Docker命令下载并使用。
本文大部分内容转载自周立的《Spring Cloud与Docker微服务架构实战》