关注微信公众号(首席摸鱼师)免费查看全部文章
一、 什么是Docker
Docker是一组平台即服务(PaaS)的产品。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离,高效工作。它能够在Windows,macOS,Linux计算机上运行,并将某一应用程序及其依赖项打包至一个容器中,这些容器可以在任何支持Docker的环境中运行。容器彼此隔离,但可以通过特定的通道相互传递信息。
二、 组成部分
- Docker守护进程(Docker daemon):Docker采用 C/S架构 。Docker daemon 作为服务端接受来自客户端的请求 ],并进行处理(创建、运行、分发容器)
- Docker客户端(Docker client):Docker 客户端则用于与 Docker 守护进程通信,发送命令以管理容器。Docker采用 C/S架构。客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
Docker daemon一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon交互。 - Docker镜像(Docker images):Docker 镜像是用于构建 Docker 容器的静态文件,它包含了应用程序运行所需的所有文件、依赖项和配置信息。Docker 镜像可以从 Docker Hub 或其他镜像仓库中获取,也可以通过 Dockerfile 自定义构建。
- Docker容器(Docker container):Docker 容器是 Docker 镜像的运行实例,它包含了应用程序及其依赖项,并在隔离的环境中运行。每个容器都是一个独立的进程,拥有自己的文件系统、网络空间和进程空间。
Docker容器通过Docker镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。 - Docker仓库(Docker Registry):Docker仓库是用于存储和管理Docker镜像的集中存储库 。其中最常见的是Docker Hub,它是一个公共的Docker镜像仓库,包含了大量的官方和社区维护的镜像。除了Docker Hub外,还可以搭建私有的 Docker 仓库来管理自己的镜像。
三、 相关技术
- DockerHub
Docker Hub 是一个基于云的容器镜像仓库,也是 Docker 官方提供的镜像存储和分发服务。它允许开发者在云端创建、管理和共享 Docker 镜像,是全球最大的容器镜像存储库之一。通过 Docker Hub,用户可以轻松地查找和使用已经构建好的公共镜像,也可以将自己构建的镜像推送到私有或公共存储库中,从而实现团队协作和镜像的自动化部署。此外,Docker Hub 还提供了自动构建功能,支持从 GitHub 或 Bitbucket 仓库中自动生成镜像,并在更新代码后自动触发构建。借助 Docker Hub,开发者和运维人员能够更快速地部署应用,并确保在不同环境中保持一致性,这使得 Docker Hub 成为了 DevOps 流程中不可或缺的一部分。 - DockerCompose
Docker Compose是一个用于定