一、什么是Docker?
1. Docker的基本概念
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
2. Docker的组成
一个完整的Docker有以下几个部分组成:
-
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器
3. Docker的三个基本概念
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。
4. 容器与镜像的关系
容器与镜像的关系类似于面向对象编程中的对象与类。
简单来说,Docker是将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
二、Docker能干什么?
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
三、Docker有什么优点?
Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
1. 快速,一致地交付您的应用程序
Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期,非常适合持续集成和持续交付(CI / CD)工作流程。
2. 响应式部署和扩展
Docker 是基于容器的平台,允许高度可移植的工作负载。可移植性与轻量级的特性,可以轻松地完成动态管理,并根据业务需求指示,实时扩展或拆除应用程序和服务。
3. 在同一硬件上运行更多工作负载
Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,用更少的资源做更多的事情。
四、如何安装Docker?
1. Windows Docker 安装
· win7/win8用户安装需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载;
下载地址:阿里云开源镜像站资源目录
安装比较简单,双击运行,点下一步即可
· win10用户安装首先开启Hyper-V(Windows功能中添加Hyper-V功能);
然后安装Toolbox,下载地址: Get Started with Docker | Docker;
最后运行程序安装即可;
安装成功之后通知栏出现小鲸鱼标志

具体步骤可参照:Windows Docker 安装 | 菜鸟教程
2. CentOS Docker 安装
Docker 支持以下的 64 位 CentOS 版本:
-
- CentOS 7
- CentOS 8
- 更高版本...
具体步骤可参照:CentOS Docker 安装 | 菜鸟教程