1、前提说明

目前,CentOS 仅发行版本中的内核支持Docker,要求64位,Liunx系统内核版本3.8以上
查看内核版本命令: cat /etc/redhat-release
查看位命名: uname -r
image.png

2、Docker的基本组成

2.1镜像(image)

image.png

2.2容器(container)

image.png

2.3仓库(repository)

image.png

2.4小结

2、Docker 安装 - 图5

3、Docker平台架构图解(架构版)

Docker 是一个 C/S 模式的架构,后端是一个松耦合架构, Docker运行的基本流程为:
1 用户是使用 Docker Client 与 Docker Daemon 建立通信,并发送请求给后者。
2 Docker Daemon 作为 Docker 架构中的主体部分,首先提供 Docker Server 的功能使其可以接受 Docker Client 的请求。
3 Docker Engine 执行 Docker 内部的一系列工作,每一项工作都是以一个 Job 的形式的存在。
4 Job 的运行过程中,当需要容器镜像时,则从 Docker Regishy中下载镜像,并通过镜像管理驱动 Graphidriver将下载镜像以Graph的形式存储。
5 当需要为 Docker 创建网络环境时,通过网络管理驱动 Nelwork driver创建并配置 Docker 容器网络环境。
6 当需要限制 Docker 容器运行资源或执行用户指令等操作时,则通过 Exec diriver 来完成。
7 Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。

参考链接:https://www.huweihuang.com/article/docker/docker-architecture/
image.png

4、安装步骤

1、确定版本,安装系统对应的docker

参考官网安装:https://docs.docker.com/engine/
image.png

2、卸载已有docker-尝试重新安装才需要

参考 10小节

Centos如果出现如下问题

Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-epel.repo; 配置:ID 为 “failovermethod” 的 OptionBinding 不存在
出现上述问题:/etc/yum.repos.d/CentOS-epel.repo 中的 failovermethod=priority 注释掉
image.png

3、yum安装gcc相关

  1. yum -y install gcc
  2. yum -y install gcc-c++
  3. yum install -y yum-utils device-mapper-persistent-data lvm2

[

](https://docs.docker.com/engine/install/centos/#uninstall-docker-engine)

4、安装需要的软件包

sudo yum install -y yum-utils

此处注意 官网是 “Install the yum-utils package (which provides the yum-config-manager utility) and set up the stable repository.” 说明,使用稳定的的镜像仓库,如果执行下条命令,设置仓库是国外的仓库,将在后续的拉取镜像时出现拉取失败
故:需要优先设置stable镜像仓库
sudo yum-config-manager \ —add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

5、设置stable镜像仓库

设置阿里云镜像仓库地址
sudo yum-config-manager —add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
阿里云官方参考:https://developer.aliyun.com/article/831657?spm=a2c6h.12873581.0.dArticle831657.599470730wii55

6、更新yum软件包索引

yum makecache fast

Centos8 报错
yum makecache: error: argument timer: invalid choice: ‘fast’ (choose from ‘timer’)
在Centos8上出错,原因:Centos8没有 fast 命令
解决 yum makecache ,去掉 fast命令 即可

7、安装DOCKER CE

sudo yum install docker-ce docker-ce-cli containerd.io

8、启动docker

sudo systemctl start docker

如果已经安装过docker ,此次启动出现如下错误,
Job for docker.service failed because the control process exited with error code.
See “systemctl status docker.service” and “journalctl -xe” for details.
1、第一步尝试先 重启docker : sudo systemctl restart docker
2、重启无效,将docker 卸载了,然后重新再安装

9、测试

docker version
image.png

运行镜像
sudo docker run hello-world

10、卸载

参考链接:https://docs.docker.com/engine/install/centos/#uninstall-docker-engine
1、停止 docker
sudo systemctl stop docker
2、删除docker ce
sudo remove docker-ce docker-ce-cli containerd.io
3、删除所有映像、容器和卷
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

5、阿里云镜像加速

开通地址
https://cr.console.aliyun.com/cn-hangzhou/instances
image.png

找到镜像加速器地址
配置加速器地址

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://93ti52qk.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker

6、永远的HelloWord

7、底层原理