前言:Docker作为当下最流行的容器化技术,凭借"一次构建、到处运行"的核心优势,成为DevOps、云部署的必备工具。本文将从Docker基础概念入手,详细讲解Docker的安装、用户组配置、镜像加速器配置,重点补充银河麒麟服务器的专属部署方案(解决官方版本过旧问题),全程实操无冗余,新手也能快速上手。
一、Docker基础概念(新手必看)
1. Docker的由来
在Docker出现之前,开发者面临一个核心痛点:应用程序在开发环境能正常运行,但部署到测试、生产环境后,常会因依赖环境、系统配置差异出现"运行失败"的问题,即"环境一致性"难题。2013年,Docker正式开源,其核心目标就是解决这一痛点------通过容器化技术,将应用程序及其依赖的库、配置文件等打包成一个可移植的容器,实现"一次构建,处处运行",极大降低了部署成本和环境适配难度。
2. Docker与传统虚拟机性能对比
很多新手会混淆Docker容器与传统虚拟机,两者在性能上有本质区别,具体对比如下:
-
启动速度:Docker容器启动时间以秒为单位(通常1-5秒),传统虚拟机启动需几分钟(需加载完整操作系统);
-
资源占用:Docker容器共享宿主机内核,无需占用额外的内存、CPU资源(轻量化,单机可运行上千个容器),传统虚拟机需分配独立的内存、CPU,资源占用高(单机仅能运行几十个);
-
磁盘占用:Docker容器镜像体积小(通常几MB到几十MB),传统虚拟机镜像体积大(通常几GB到几十GB);
-
性能损耗:Docker容器几乎无性能损耗(直接调用宿主机内核),传统虚拟机因虚拟化层存在,性能损耗约10%-20%。

3. Docker与传统虚拟机架构对比
架构上的差异,决定了两者的性能差距:
-
传统虚拟机:架构从下到上依次为「硬件 → 宿主机操作系统 → 虚拟化层(如VMware、VirtualBox) → 多个客户机操作系统 → 应用程序」。每个虚拟机都有独立的操作系统,虚拟化层负责隔离和资源分配,冗余度高。
-
Docker容器:架构从下到上依次为「硬件 → 宿主机操作系统 → Docker引擎 → 多个容器 → 应用程序」。容器无需独立操作系统,共享宿主机内核,Docker引擎负责容器的隔离、调度和资源分配,轻量化且高效。
-

4. 如何理解Docker
Docker的基础理念是:打包应用以及依赖环境到一个可移植的容器中,然后发布到任何平台的主机(Linux、Windows、MacOS)上都能正常运行。
想要搞懂Docker,记住它的两句核心口号就够了:
-
第一句:"Build, Ship and Run"(搭建、发送、运行)------ 开发者搭建应用环境并打包成镜像,通过网络发送到目标主机,在目标主机上直接运行容器;
-
第二句:"Build once,Run anywhere"(一次构建,到处运行)------ 解决环境不一致问题,无论目标主机是开发机、测试机还是生产机,只要安装了Docker,就能运行容器。
5. 容器技术发展的几个方向
随着容器技术的普及,其发展方向主要集中在4个方面:
-
容器编排标准化:以Kubernetes(K8s)为核心,实现多容器、多主机的统一调度、扩容、运维,成为容器编排的行业标准;
-
轻量化与安全加固:容器镜像进一步轻量化(如Distroless镜像),同时加强容器隔离、权限控制,提升生产环境的安全性;
-
云原生深度融合:与云服务(公有云、私有云)深度结合,实现容器的弹性伸缩、按需分配资源,降低云部署成本;
-
多平台适配:完善对ARM架构、国产操作系统(如银河麒麟、统信UOS)的支持,满足国产化部署需求。
二、通用Linux系统(CentOS系列)Docker安装与配置
本节适用于CentOS 7/8等通用Linux系统,全程使用yum在线安装,步骤简单易操作。
1. 安装Docker CE(社区版)
首先安装依赖包,确保yum能正常添加软件源并安装Docker:
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
添加阿里云Docker软件源(国内源,下载速度更快,避免官方源卡顿):
[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum缓存并安装Docker CE:
[root@localhost ~]# yum makecache fast
[root@localhost ~]# yum install docker-ce
安装完成后,启动Docker并设置开机自启:
[root@localhost ~]# systemctl enable docker # 设置开机自启
[root@localhost ~]# systemctl start docker # 启动Docker服务
2. 建立Docker用户组(安全优化)
默认情况下,Docker命令需使用root用户执行(因为Docker引擎的Unix socket仅对root用户和docker组开放)。出于安全考虑,不建议直接使用root用户操作Docker,因此需创建docker用户组,并将当前用户加入组中。
[root@localhost ~]# groupadd docker # 建立docker用户组
[root@localhost ~]# usermod -aG docker $USER # 将当前用户加入docker组
注意:添加用户组后,需重新登录终端,权限才能生效。
3. 测试Docker安装是否成功
通过运行官方的hello-world镜像,验证Docker是否能正常拉取镜像并运行容器:
[root@localhost ~]# docker run hello-world
若终端输出"Hello from Docker!"相关信息,说明Docker安装成功;若拉取镜像失败,可先配置镜像加速器(见下文),再重新测试。

4. 配置Docker镜像加速器(国内必做)
国内从Docker Hub拉取镜像时,因网络原因常出现卡顿、超时问题,配置镜像加速器可大幅提升下载速度。本文提供6个可用的国内加速器(亲测有效),步骤如下:
第一步:创建Docker配置目录(若已存在则跳过):
[root@localhost ~]# mkdir /etc/docker
第二步:创建并编辑daemon.json配置文件(核心配置文件):
[root@localhost ~]# vim /etc/docker/daemon.json
第三步:写入以下内容(确保JSON格式规范,否则Docker无法启动):
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://proxy.1panel.live",
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io",
"https://docker.rainbond.cc",
"https://docker.1panel.live"
]
}
第四步:重新加载Docker配置并重启服务,使加速器生效:
[root@localhost ~]# systemctl daemon-reload # 重新加载配置
[root@localhost ~]# systemctl restart docker # 重启Docker服务
验证加速器是否生效:执行以下命令,若输出中包含配置的加速器地址,说明配置成功:
[root@localhost ~]# docker info

补充说明:若配置后拉取镜像仍缓慢,可将系统DNS修改为8.8.8.8(谷歌公共DNS),解决网络解析问题。
三、银河麒麟服务器Docker部署(重点)
银河麒麟服务器作为国产操作系统,直接使用yum安装Docker会出现"官方版本过旧"的问题,推荐使用二进制文件安装,步骤如下(全程实操,适配银河麒麟全系列)。
1. 下载Docker二进制包
从阿里云镜像源下载指定版本的Docker二进制包(本文以docker-23.0.6版本为例,稳定且适配银河麒麟,可根据需求选择其他版本):
[root@kylinserver data]# wget https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-23.0.6.tgz
补充:若wget命令未安装,可先执行yum install -y wget安装;若下载失败,可直接访问阿里云Docker二进制包地址,手动下载对应版本后上传至服务器。
2. 解压并部署二进制文件
将下载的压缩包解压,并将解压后的文件复制到/usr/local/bin目录(系统可执行目录,确保Docker命令全局可用):
[root@kylinserver data]# tar -zxvf docker-23.0.6.tgz # 解压压缩包
[root@kylinserver data]# cd docker # 进入解压后的目录
[root@kylinserver docker]# cp * /usr/local/bin # 复制所有可执行文件到系统目录
3. 配置Docker系统服务
二进制安装的Docker需手动配置系统服务,才能通过systemctl命令管理(启动、停止、开机自启),步骤如下:
第一步:创建Docker服务配置文件:
[root@kylinserver docker]# vim /usr/lib/systemd/system/docker.service
第二步:写入以下服务配置内容(复制粘贴即可,无需修改):
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service time-set.target
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500
[Install]
WantedBy=multi-user.target
4. 配置镜像加速器(与通用系统一致)
银河麒麟服务器同样需要配置镜像加速器,解决国内拉取镜像慢的问题,步骤与前文一致:
[root@kylinserver data]# mkdir /etc/docker # 若已存在则跳过
[root@kylinserver data]# vim /etc/docker/daemon.json
写入加速器配置(与通用系统相同):
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://proxy.1panel.live",
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io",
"https://docker.rainbond.cc",
"https://docker.1panel.live"
]
}
5. 启动Docker并验证
配置完成后,重新加载系统服务,启动Docker并设置开机自启,最后验证版本:
[root@kylinserver data]# systemctl daemon-reload # 重新加载服务配置
[root@kylinserver data]# systemctl enable docker # 设置开机自启
[root@kylinserver data]# systemctl start docker # 启动Docker服务
[root@kylinserver data]# docker -v # 验证Docker版本
若终端输出类似"Docker version 23.0.6, build 191d714"的信息,说明银河麒麟服务器Docker部署成功。
四、常见问题排查(避坑指南)
-
问题1:Docker启动失败,提示"daemon.json格式错误"------ 检查daemon.json文件,确保括号、逗号格式正确,无多余空格(JSON格式严格,建议使用在线JSON校验工具验证)。
-
问题2:拉取镜像超时,加速器配置后仍无效------ 检查网络是否正常,可尝试ping docker.1ms.run,若无法ping通,修改DNS为8.8.8.8;同时确认daemon.json配置正确,重启Docker服务后重新验证。
-
问题3:银河麒麟服务器解压二进制包后,docker命令无法执行 ------ 确认解压后的文件已复制到/usr/local/bin目录,可执行
ls /usr/local/bin | grep docker,查看是否有docker、dockerd等可执行文件。 -
问题4:非root用户无法执行docker命令------ 确认已将该用户加入docker用户组,且重新登录终端(权限生效需重新登录)。
五、总结
本文涵盖了Docker从基础概念到实操部署的全流程,适用于通用Linux系统和银河麒麟国产服务器,重点解决了"国内镜像拉取慢""银河麒麟官方版本过旧"两个核心痛点。通过本文的步骤,你可以快速完成Docker的安装、配置和验证,为后续容器化部署(如Nginx、MySQL、Java应用等)打下基础。
如果觉得本文有用,欢迎点赞、收藏,关注我获取更多Docker、K8s、国产服务器部署相关实操教程~