史上最全、最详细的Docker学习资料

5,271 阅读3分钟

一、Docker 简介

Docker 两个主要部件:

Docker: 开源的容器虚拟化平台

  • Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 -- Docker Hub

  • Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上,当然你也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。Docker 客户端和守护进程之间通过 socket 或者 RESTful API 进行通信。

Docker 守护进程

如上图所示,Docker 守护进程运行在一台主机上。用户并不直接和守护进程进行交互,而是通过 Docker 客户端间接和其通信。

Docker 客户端

Docker 客户端,实际上是 docker 的二进制程序,是主要的用户与 Docker 交互方式。它接收用户指令并且与背后的 Docker 守护进程通信,如此来回往复。

Docker 内部

要理解 Docker 内部构建,需要理解以下三种部件:

  • Docker 镜像 - Docker images

  • Docker 仓库 - Docker registeries

  • Docker 容器 - Docker containers

Docker 镜像

Docker 镜像是 Docker 容器运行时的只读模板,每一个镜像由一系列的层 (layers) 组成。Docker 使用 UnionFS 来将这些层联合到单独的镜像中。UnionFS 允许独立文件系统中的文件和文件夹(称之为分支)被透明覆盖,形成一个单独连贯的文件系统。正因为有了这些层的存在,Docker 是如此的轻量。当你改变了一个 Docker 镜像,比如升级到某个程序到新的版本,一个新的层会被创建。因此,不用替换整个原先的镜像或者重新建立(在使用虚拟机的时候你可能会这么做),只是一个新 的层被添加或升级了。现在你不用重新发布整个镜像,只需要升级,层使得分发 Docker 镜像变得简单和快速。

Docker 仓库

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。同样的,Docker 仓库也有公有和私有的概念。公有的 Docker 仓库名字是 Docker Hub。Docker Hub 提供了庞大的镜像集合供使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。Docker 仓库是 Docker 的分发部分。

Docker 容器

Docker 容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境。每一个 Docker 容器都是从 Docker 镜像创建的。Docker 容器可以运行、开始、停止、移动和删除。每一个 Docker 容器都是独立和安全的应用平台,Docker 容器是 Docker 的运行部分。

二:Docker使用场景介绍

Docker,你到底知道多少?

三:Docker生态介绍

Docker 生态概览

四:Docker安装

Docker容器技术入门(一)

五:Docker网络与磁盘

【容器技术】Docker容器技术入门(二)

六:Docker命令大全

这20个Docker Command,有几个是你会的?

七:Docker容器技术之Docker file

Docker容器技术之Docker file

八:Docker容器技术之Docker-machine

容器技术|Docker三剑客之docker-machine

九:Docker容器技术之Docker-compose

容器技术|Docker三剑客之Compose

十:Docker容器技术之Docker-swarm

容器技术|Docker三剑客之docker-swarm

十一:Docker-register构建私有镜像仓库

使用docker Registry快速搭建私有镜像仓库(内附干货)

十二:打造高逼格Docker容器监控平台

打造高逼格、可视化的Docker容器监控系统平台

十三:Jenkins与Docker的自动化CI/CD实战

Jenkins与Docker的自动化CI/CD实战