一 docker 应用场景
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
IaaS:(Infrastructure-as-a-Service)(基础设施即服务)
PaaS:(PlatformasaService)(平台即服务)
SaaS:(Software-as-a-Service)(软件即服务)
二 Docker核心概念
Docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统中)
Docker客户端(Client):连接Docker主机进行操作;
Docker容器(Container):镜像启动后的实例,独立运行的一个或一组应用;
Docker镜像(Image):打包好的软件,用于创建Docker容器的模板;
Docker仓库(Respository):用于保存打包好的软件镜像;
关系示意图:


| 概念 | 说明 |
|---|---|
| Docker 镜像 (Images) | Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。 |
| Docker 容器 (Container) | 容器是独立运行的一个或一组应用,是镜像运行时的实体。 |
| Docker 客户端 (Client) | Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。 |
| Docker 主机 (Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
| Docker 仓库 (Registry) | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub (https://hub.docker.com) 提供了庞大的镜像集合供使用。 |
| Docker Machine | Docker Machine 是一个简化 Docker 安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装 Docker,比如 VirtualBox、Digital Ocean、Microsoft Azure。 |
三 Docker的安装
Docker版本要求
1、要求 CentOs 系统的内核版本高于 3.10,可通过如下指令查看版本
uname -r
https://docs.docker.com/engine/install/centos/
更新yum
安装 docker ce 即社区免费版,先安装必要的软件包,安装 yum-utils,它提供一个 yum-config-manager 单元,同时安装的 device-mapper-persistent-data 和 lvm2 用于储存设备映射(devicemapper)必须的两个软件包。
sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
由于 CentOS 7 官方仓库已停止维护,建议替换为阿里云镜像:
# 下载阿里云CentOS 7镜像配置 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

紧接着配置一个稳定(stable)的仓库,仓库配置会保存到 /etc/yum.repos.d/docker-ce.repo 文件中。此处我们使用阿里云。
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 安装的相关 Docker 软件包
sudo yum makecache fast#会出错
查看仓库版本,并指定版本安装
查看版本
yum list docker-ce --showduplicates | sort -r

安装
# yum install docker-ce # 只会安装 核心组件(docker-ce 本体 + 依赖的 docker-ce-cli、containerd.io)
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin卸载:
yum list installed | grep docker
yum remove 移除需要卸载的组件
安装完毕后,检查docker info
dokcer info
下面是遇到的错误:
[root@node01 ~]# docker info
Client: Docker Engine - CommunityVersion: 26.1.4Context: defaultDebug Mode: falsePlugins:buildx: Docker Buildx (Docker Inc.)Version: v0.14.1Path: /usr/libexec/docker/cli-plugins/docker-buildxcompose: Docker Compose (Docker Inc.)Version: v2.27.1Path: /usr/libexec/docker/cli-plugins/docker-composeServer:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info
Docker 客户端无法连接到 Docker 守护进程(daemon),通常是因为 Docker 服务未启动
启动 Docker 服务
sudo systemctl start docker

设置 Docker 开机自启(可选)
sudo systemctl enable docker
检查 Docker 服务状态
sudo systemctl status docker
配置 Docker Hub 到国内镜像
看下面 四 docker 常用命令 - 拉取镜像 yin'y