1. docker介绍


1.1 docker产生的背景


Docker 是云时代的产物,它的诞生是一种必然。

对于云计算\云服务的相关概念,我们不会去阐述。不过如果想了解 Docker,那么必须对云服务的一些运营模式有所了解。

云服务的运营模式:

  • IaaS(基础设施即服务):经营的是基础设施,比如阿里云服务器(只安装操 作系统)
  • PaaS(平台即服务):经营的是平台,比如 MySQL 开发平台(安装在 linux 里面现成的平台)、redis 开发平台。
  • SaaS(软件即服务):经营的是软件,比如公司的OA系统(部署到远程服务 器中的 OA 软件)

Docker 就是伴随着 PaaS 产生的。

1.2 什么是docker


Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应 用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

docker就是一种虚拟化容器技术

通过 Docker 这种虚拟化容器技术,我们可以对物理机的资源进行更加合理有效 的利用,可以将一台物理机器虚拟化出很多个拥有完整操作系统,并且相互独立 的“虚拟计算机”。

3 那什么是虚拟化呢?


在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机 的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来, 打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应 用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组 态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老 的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理 硬件。

docker专题(一)_第1张图片

虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟 化、桌面虚拟化、服务虚拟化、虚拟机等等。

最常用的虚拟化技术有:全虚拟化和操作系统(OS)虚拟化。

比如,VMware workstation 就是全虚拟化的实现。

比如,我们要讲的 Docker,就是基于操作系统虚拟化技术的一种实现。

基于操作系统创建出一些相互独立的、功能虚拟化技术有多种实现方式,有基于 硬件进行虚拟化的技术,而 Docker 只是针对操作系统进行虚拟化,对于硬件资 源的使用率更低。

  • VMware和docker的对比:
    docker专题(一)_第2张图片
  1. 启动速度快,Docker 容器启动操作系统在秒级就可以完成,而 VMware 却是达到分钟级。
  2. 系统资源消耗低,一台 Linux 服务器可以运行成千上百个 Docker 容器,而VMware 大概只能同时运行 10 个左右。
  3. 更轻松的迁移和扩展,由于 Docker 容器比 VMware 占用更少的硬盘空间, 在需要搭建几套软件环境的情况下,对安装好的 Docker 容器进行迁移会更 快捷,更方便。而且 Docker 容器几乎可以在任意的平台上运行,包括虚拟 机、物理机、公有云,私有云,个人电脑等,这种兼容性,可以让用户将一 个应用程序从一个平台直接迁移到另一个平台。

1.4 docker的体系架构


  • Docker Client客户端
  • Docker Daemon守护进程
  • Docker Image镜像
  • Docker Container容器

docker专题(一)_第3张图片

1.5 docker中的概念


  • docker守护进程: docker的守护进程运行在一个主机机器中, 用户不直接和守护进程交互, 而是通过docker客户端
  • docker客户端: docker客户端是以二进制的形式出现, 是docker最基本的用户接口, 他用来接收用户的命令, 然后和docker守护进程来沟通
  • docer镜像: docker镜像就是一个可读的模板, 我们可以使用docker镜像来创建docker容器, docker提供了一个简单的机制来创建对象或者更新自己已有的镜像, 也可以从其他人那里下载一个已经做好的镜像来使用.
  • docker容器: 容器是用来运行应用的. 容器是从镜像中创建的运行实例, 它可以被启动, 开始, 停止, 删除. 每一个容器都相互隔离, 保证安全.
  • docker注册处(Registry&Repository): docker注册处保留镜像, 这些是来自于上传或者下载镜像的公众或者私有存储的地方. 公共的docer注册处由docker hub提供.
    • Registry 是集中存放镜像文件的场所
    • Repository 是对于其中的镜像进行分类管理.
    • 一个Registry中会有过个Repository, 一个Repository中会有多个不同tag的Image, 比如: 名称为centos的Repository仓库下, 有tag为6或者7的image镜像

2. 安装docker


docker默认安装的操作系统是ubuntu.

官网有安装各种环境的指南, 请参考https://docs.docker.com/

我自己本省使用mac系统的, 但是我们主要来说一下centos7.x的安装, 因为这个在服务器上用的是最多的.

# yum 安装
yum install -y docker
# 启动 docker
systemctl start docker.service
# 开启启动docker
systemctl enable docker.service
# 查看docker版本
docker version

3. Docker的镜像


3.1 镜像管理常用命令


# 列出镜像
docker images
# 列出正则匹配的镜像
docker images ce*
# images只会列出镜像的基本信息, 详细信息可以通过inspect命令
docker inspect [name]/[container id]
# 搜索镜像
dockersearch [name]
# 拉取镜像
docker pull [name]
# 删除镜像
docker rmi [name]/[contaniner id]