docker安装linux命令(Docker Linux安装指令)


Docker作为容器化技术的核心工具,在Linux环境下的安装与使用是开发者和运维人员必备技能。其安装过程涉及系统兼容性检查、依赖包管理、存储驱动选择等多个关键环节,需结合不同Linux发行版的特性进行适配。通过命令行安装Docker可精准控制版本和组件,但需处理内核模块加载、镜像仓库配置等复杂操作。本文将从八个维度深入剖析Docker在Linux系统的安装流程,重点解析核心命令的功能差异与适用场景,并通过对比表格直观呈现不同配置方案的优缺点。
一、安装前环境准备
Docker对Linux系统的版本和内核有严格要求,需提前完成以下检查:
检查项 | 命令 | 说明 |
---|---|---|
系统版本 | cat /etc/os-release | 确认Ubuntu/CentOS等发行版及版本号 |
内核版本 | uname -r | 需≥3.10且支持cgroup |
虚拟化支持 | egrep '(vmx|svm)' /proc/cpuinfo | 验证CPU虚拟化指令集 |
不同发行版还需安装特定依赖包,例如Ubuntu需apt install apt-transport-https ca-certificates
,而CentOS需yum install yum-utils device-mapper-persistent-data lvm2
。
二、安装源选择策略
Docker安装源分为官方仓库、第三方镜像站和本地离线包三种类型:
安装源类型 | 命令特征 | 优缺点 |
---|---|---|
官方仓库 | add-apt-repository / yum repo | 更新及时但依赖外网,适合生产环境 |
阿里云镜像 | wget http://mirrors.aliyun.com/docker-ce.repo | 国内加速访问,但存在版本滞后风险 |
离线安装包 | rpm -ivh docker-ce-.rpm | 完全断网环境必备,需手动解决依赖 |
使用sudo yum list docker-ce --showduplicates
可查看可用版本,通过-o
参数指定特定版本安装。
三、存储驱动配置对比
Docker存储驱动决定数据写入方式,需根据系统特性选择:
驱动类型 | 配置命令 | 适用场景 |
---|---|---|
overlay2 | --storage-driver=overlay2 | 主流选择,支持分层存储和COW |
aufs | --storage-driver=aufs | 老旧系统兼容,但性能低于overlay2 |
btrfs | --storage-driver=btrfs | 支持高级快照,需文件系统为btrfs |
devicemapper | --storage-driver=devicemapper | 企业级存储方案,配置复杂 |
通过docker info | grep "Storage Driver"
可查看当前生效驱动,修改需重启Docker服务。
四、镜像加速配置方案
优化Docker Hub访问速度需配置加速器,常见方案对比:
加速类型 | 配置路径 | 生效范围 |
---|---|---|
系统级代理 | /etc/systemd/system/docker.service.d/http-proxy.conf | 影响所有容器网络 |
Docker内置配置 | /etc/docker/daemon.json | 仅作用于Docker守护进程 |
镜像站源替换 | 修改/etc/docker/daemon.json的registry-mirrors | 加速拉取镜像速度 |
典型配置示例:在daemon.json
中添加"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
。
五、容器网络模式解析
Docker网络模式直接影响容器通信能力:
网络模式 | 创建命令 | 连通性特征 |
---|---|---|
bridge | docker run --network bridge | 默认模式,容器间通过IP通信 |
host | docker run --network host | 共享宿主网络,端口冲突风险高 |
none | docker run --network none | 禁用网络,需手动配置veth对 |
overlay | docker network create -d overlay | 跨主机通信,需启用swarm模式 |
使用docker network ls
可查看当前网络列表,docker inspect
查看详细配置。
六、权限管理与安全配置
Docker默认权限机制存在安全隐患,需进行强化:
- 创建专用用户组:
sudo usermod -aG docker $USER
- 限制root权限运行:修改
/lib/systemd/system/docker.service
添加User=dockeruser
- 启用TLS认证:生成证书后配置
--tlsverify --tlscacert=ca.pem --tlscert=server.pem --tlskey=server-key.pem
通过docker bench mark.py
可检测系统安全配置得分,建议关闭旧版API(如删除/var/run/docker.sock的写权限)。
七、数据持久化方案对比
容器数据持久化需结合存储驱动特性:
卷类型 | 挂载命令 | 数据生命周期 |
---|---|---|
绑定挂载 | -v /path:/containerpath | 随容器删除自动清理 |
数据卷 | docker volume create | 独立于容器生命周期管理 |
tmpfs挂载 | --tmpfs /path:rw,size=500m | 存储在内存,重启丢失数据 |
推荐使用docker volume create --driver local
创建持久化卷,配合backup-volumes.sh
脚本定期备份。
八、日志管理与监控策略
Docker日志收集方式直接影响故障排查效率:
日志模式 | 配置参数 | 适用场景 |
---|---|---|
json-file | (default) --log-driver=json-file | 单机调试,文件占用空间大 |
syslog | --log-driver=syslog --log-opt syslog-address=unix:///dev/log | 集中式日志管理,需rsyslog支持 |
fluentd | --log-driver=fluentd --log-opt tag=app.docker | 结构化日志采集,对接ELK栈 |
journald | --log-driver=journald | 系统日志集成,需启用systemd-journald服务 |
监控方面建议部署cAdvisor + Prometheus
组合,通过docker run -d --name=cadvisor --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --publish=8080:8080 --detach=true google/cadvisor:latest
实现容器资源可视化。
Docker在Linux环境的安装与配置是一个涉及系统层、网络层和应用层的复杂工程。从内核兼容性检查到存储驱动选择,每个环节都需要结合具体场景进行权衡。通过对比不同配置方案的优缺点,可以发现:overlay2存储驱动在大多数场景下具有最佳性能平衡;使用国内镜像源能显著提升拉取速度;数据卷管理应优先采用独立卷而非绑定挂载。在安全层面,最小权限原则和TLS认证是必须遵循的准则,而日志的结构化采集则为后续监控打下基础。随着容器技术的演进,未来安装流程将趋向自动化和模块化,但掌握这些底层命令仍是理解Docker运行机制的关键。对于生产环境,建议建立标准化安装checklist,并定期通过docker system prune -a
清理冗余资源,结合docker scan
进行漏洞扫描,确保系统持续稳定运行。





