什么是Docker?
Docker是基于LXC容器技术使用GO语言开发的开源软件。核心功能可以理解为:将代码的运行环境+代码打包成镜像。
将Docker的镜像可以创建为容器,然后到处运行。
Docker的设计理念
- 构建(Build)
- 运输(Ship)
- 运行(Runing)
Docker的应用场景
- Web应用的自动化打包和发布
- 自动化测试和集成、发布
- 在服务型环境中部署和调整数据库或其他后台应用
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境
Docker的架构
Docker 包含三个基本概念:
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。
Docker使用客户端-服务器(C/S)架构模式,通过远程API来创建容器。
Docker容器可以通过Docker镜像来创建。
Docker容器和Docker镜像的关系就类似于对象和类。Docker容器是对象,Docker镜像是类。
名称 | 说明 |
---|---|
docker镜像(image) | docker镜像是用来创建docker容器的模板 |
docker容器(container) | docker容器是独立运行的一个或一组应用,是镜像运行时的实体 |
Docker 客户端(Client) | Docker 客户端通过命令行或者其他工具使用 Docker SDK |
Docker 主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
Docker Registry | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 |
Docker Machine | Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker |
Docker的安装
https://www.runoob.com/docker/centos-docker-install.html