基础篇 Docker 安装与简介
内容概述
为什么要学习Docker,可以从下面6个方面思考:
- 解决环境(dev、uat、prod)一致性问题;
- 轻量级与资源高效利用;
- 简化部署与持续集成/交付(CI/CD);
- 隔离性与安全性增强;
- 跨平台与可移植性;
- 生态完善与社区支持
# 1. Docker 的安装
# 1. 安装Docker(Centos7.x)
- 一切学习都可以从官方文档入手(推荐),官网安装参考手册:https://docs.docker.com/engine/install/centos (opens new window)
step 1:环境确认
- 确认系统内核在3.10 以上
$ sudo uname -r
1
[root@iByteHorizon ~]# uname -r
4.18.0-305.3.1.el8.x86_64 # 内核版本4.18
1
2
2
- 确认系统版本在Centos7 及以上
- 2.1 方式一:
$ sudo lsb_release -a
1
[root@iByteHorizon ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch # LSB版本信息
Distributor ID: CentOS # 发行版ID
Description: CentOS Linux release 8.4.2105 # 发行版描述信息
Release: 8.4.2105 # 具体版本号
Codename: n/a # 发行版代号
1
2
3
4
5
6
2
3
4
5
6
- 2.2 方式二:
$ sudo cat /etc/os-release
1
[root@iByteHorizon ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
step 2:gcc 相关环境
- PS:现在云服务一般不需要这一步,只有本地虚拟机才需要;但需要注意的是如果是虚拟机,须确保虚拟机可以上外网。
$ sudo gcc --version # 版本查看
$ sudo yum -y install gcc # 安装C 语言编译器
$ sudo yum -y install gcc-c++ # 安装C++ 编译器
1
2
3
2
3
step 3:卸载原始Docker
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
step 4:安装Docker 依赖的软件包
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
1
2
3
2
3
step 5:设置Docker 的yum 源
- 官方国外(不推荐)
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
1
注意:很大情况官方镜像会报错超时。
- 国内的阿里云镜(推荐)
$ sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1
step 6:更新yum软件包索引
- Centos7 版本
$ sudo yum makecache fast
1
- Centos8 及以上,Centos8没有
fast命令
$ sudo yum makecache
1
step 7:安装Docker
- docker-ce 社区版(推荐)
- 安装最新版docker
$ sudo yum -y install docker-ce docker-ce-cli containerd.io
1
- 安装指定版docker
$ yum list docker-ce --showduplicates | sort -r
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
$ sudo yum install docker-ce-18.09.5-3.el7 docker-ce-cli-18.09.5-3.el7 containerd.io
1
2
3
2
3
- docker-ee 企业版(略)
step 8:启动Docker
$ sudo systemctl start docker # 立即启动docker 服务
$ sudo systemctl enable docker # 设置docker 服务开机自动启动,但不会立即启动服务,enable 的配置在下次系统重启后生效,确保Docker 随系统自动启动
1
2
2
step 9:测试Docker
$ sudo docker version # 查看docker 版本
$ sudo docker run hello-world # 运行hello-world
1
2
2
step 99:卸载
$ sudo systemctl stop docker # 先停止docker 服务
$ sudo yum remove docker-ce docker-ce-cli containerd.io # 卸载安装docker
$ sudo rm -rf /var/lib/docker # 删除docker 默认工作路径
1
2
3
2
3
# 2. Bash安装(通用所有平台)
step 1:安装Docker
- 在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装,另外可以通过
--mirror选项使用国内源进行安装:执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 的稳定(stable) 版本安装在系统中。
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
1
2
2
step 2:启动docker
$ sudo systemctl enable docker
$ sudo systemctl start docker
1
2
2
step 3:创建docker用户组
$ sudo groupadd docker
1
step 4:将当前用户加入docker组
$ sudo usermod -aG docker $USER
1
step 5:测试Docker
$ docker run hello-world
1
# 2. Docker 的核心架构

镜像:一个镜像代表一个应用环境,他是一个只读的文件,如 mysql镜像,tomcat镜像,nginx镜像等容器:镜像每次运行之后就是产生一个容器,就是正在运行的镜像,特点就是可读可写仓库:用来存放镜像的位置,类似于maven仓库,也是镜像下载和上传的位置DockerFile:docker生成镜像配置文件,用来书写自定义镜像的一些配置tar:一个对镜像打包的文件,日后可以还原成镜像
# 3. Docker 配置阿里镜像加速服务
# 3.1 Docker 运行流程

# 3.2 配置阿里镜像加速服务
阿里云镜像存在主要意义就是: 通过优化镜像分发网络,加速用户从远程仓库(如Docker Hub)拉取镜像的速度,解决因网络延迟导致的下载缓慢或失败问题。
- 注册一个属于自己的阿里云账户
- 进入管理控制台设置密码开通
- 查看自己的镜像加速器

- 配置镜像加速
step 1:创建文件目录
sudo mkdir -p /etc/docker
1
step 2:创建文件daemon.json,并写入镜像配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://m4urlmog.mirror.aliyuncs.com"]
}
EOF
1
2
3
4
5
2
3
4
5
step 3:重启daemon 服务
sudo systemctl daemon-reload
1
step 4:重启docker 服务
sudo systemctl restart docker
1
- 验证docker的镜像加速是否生效
sudo docker info
1
最近更新: 2025/03/25, 09:15:48