docker基础

前言
  1. 从物理机到容器化:

    1. 物理机时代:部署慢、成本高、资源浪费、难迁移、受制于硬件

    2. 虚拟机时代:系统级别的隔离,需要安装操作系统

    3. 容器化时代:应用层面的隔离,比虚拟机更灵活

      虚拟机和容器的对比(https://sm.ms/image/9oQpOKn17WV3afl)

  2. 容器化的应用场景:

    1. 标准化的迁移方式
    2. 统一的参数配置
    3. 自动化部署
    4. 应用集群监控
    5. 开发与运维沟通的桥梁
docker 安装
  1. 在centos上安装docker:Install Docker Engine on CentOS
  2. 在Ubuntu上安装docker:Install Docker Engine on Ubuntu
docker镜像加速

编辑 /etc/docker/daemon.json,加入以下内容(可以添加多个url,以逗号分隔):

1
2
3
4
5
6
{
"registry-mirrors":[
"https://docker.mirrors.ustc.edu.cn/",
"https://hub-mirror.c.163.com/"
]
}

其他加速地址可见链接:Docker 镜像加速

docker的基本概念(不专业的理解)
  1. 镜像、一种只读的文件系统,提供容器运行时所需的程序、库、资源、配置等文件。镜像不包含任何动态数据,其内容在构建之后也不会被改变。(不恰当的比喻,类似安装存在系统的镜像文件)
  2. 容器: 镜像运行时的实体,彼此之间相互隔离(不恰当的比喻,类似安装成功后的操作系统)
  3. 仓库:集中存储镜像的远程服务器。

docker中三者的关系

docker的简单架构

docker基于C/S架构,由server提供功能并接受 client 的请求,二者之间通过REST API通信(HTTP)

docker 架构

更复杂的架构细节可见链接:Docker1-架构原理及简单使用(终于把Docker讲明白了)