🚀 一、环境安装配置
1、在线安装(CentOS系统)
🛠️ 环境检查与清理
-
检查已安装组件:
yum list installed | grep docker
-
卸载旧版本:
yum remove docker docker-common docker-selinux docker-engine
🔧 环境准备
-
安装必要工具:
yum install -y yum-utils device-mapper-persistent-data lvm2
-
配置阿里云镜像源加速:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
📦 安装选项
-
最新版本:
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
-
指定版本:
yum install -y docker-ce-18.09.8 docker-ce-cli-18.09.8 containerd.io docker-compose-plugin
-
版本降级:
yum downgrade --setopt=obsoletes=0 -y docker-ce-${version} docker-ce-selinux-${version} containerd.io
2、离线安装方案(安装脚本)
!/bin/sh
echo '解压tar包...'
tar -xvf $1
echo '将docker目录移到/usr/bin目录下...'
cp docker/* /usr/bin/
echo '将docker.service 移到/etc/systemd/system/ 目录...'
cp docker.service /etc/systemd/system/
echo '添加文件权限...'
chmod +x /etc/systemd/system/docker.service
echo '重新加载配置文件...'
systemctl daemon-reload
echo '启动docker...'
systemctl start docker
echo '设置开机自启...'
systemctl enable docker.service
echo 'docker安装成功...'
docker -v
⚙️ 二、服务管理与自启配置
🎯 基础服务控制
-
启动服务:
systemctl start docker.service -
停止服务:
systemctl stop docker -
关闭守护进程:
systemctl stop docker.socket -
开启自启:
systemctl enable docker.service -
关闭自启:`systemctl disable docker.service**
🔄 容器自启策略
-
设置自启动:
docker update --restart=always [容器名] -
关闭自启动:
docker update --restart=no [容器名]
📝 示例应用
# 设置自启
docker update --restart=always tracker
# 关闭自启
docker update --restart=no tracker
🌐 三、镜像仓库优化配置
🚀 国内镜像加速
vim /etc/docker/daemon.json
# 配置内容:
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com",
"https://***.mirror.aliyuncs.com" 个人阿里云地址
]
}
# 生效配置
systemctl daemon-reload
systemctl restart docker
# 验证配置
docker info
📦 镜像迁移管理
-
导出镜像:
docker save -o jenkins:v1.0.0.tar jenkins:v1.0.0
-
导入镜像:
docker load -i jenkins:v1.0.0.tar
📊 四、日志监控与分析
🔍 多样化日志查询
# 实时监控
docker logs -f [容器名称或id]
# 时间范围查询
docker logs -f --tail 10 [容器名称或id]
docker logs -f --since "2022-05-16" [容器名称或id]
docker logs -f -t --since="2018-02-08" --tail=100 [容器名称或id]
docker logs --since 30m [容器名称或id]
# 精准时间段
docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" [容器名称或id]
docker logs -t --since="2018-02-08T13:23:37" efb78392dsfg
🏗️ 五、多平台镜像构建
🔧 跨架构编译环境
# 安装模拟工具
sudo yum install -y qemu-user-static binfmt-support
# 配置qemu模拟器
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# 构建器配置
docker buildx create --name mybuilder
docker buildx use mybuilder
docker buildx inspect --bootstrap
🌍 多平台构建命令
# 多平台构建并推送
docker buildx build -t 镜像仓库地址/镜像名:TAG --platform linux/amd64,linux/arm64 . --push
# ARM64构建并本地导入
docker buildx build -t 镜像仓库地址/镜像名:TAG --platform linux/arm64 . --load
🎯 六、系统优化实践
📁 数据目录迁移
-
停止服务:
systemctl stop docker -
备份数据:
cp -r /var/lib/docker/ /kinddisk -
修改配置:
/etc/docker/daemon.json添加{"data-root": "/新路径"} -
重启生效:
systemctl start docker
⏰ 容器时区同步
#启动参数同步
docker run -itd --privileged=true -v /etc/localtime:/etc/localtime:ro
#Dockerfile配置
ENV TimeZone=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone
#系统特定配置
RUN echo "Asia/shanghai" > /etc/timezone CentOS
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime Ubuntu
🧹 七、存储空间管理
🗑️ 镜像清理优化
#查看虚悬镜像
docker images -f "dangling=true" -q
#清理未使用镜像
docker image prune -a
💾 磁盘占用分析
docker system df 整体磁盘使用
docker system df -v 详细大小分析
du -hs /var/lib/docker/ 存储目录大小
df -h 服务器磁盘状态
🎨 八、常用Docker命令速查
|
类别 |
命令 |
描述 |
|---|---|---|
|
镜像管理 |
|
拉取镜像 |
|
|
查看本地镜像 | |
|
|
删除镜像 | |
|
容器管理 |
|
创建并启动 |
|
|
生命周期控制 | |
|
|
查看所有容器 | |
|
网络管理 |
|
查看网络列表 |
|
|
创建网络 | |
|
数据卷 |
|
创建数据卷 |
|
|
查看卷列表 |
📈 九、总结
本指南涵盖了Docker从基础安装到高级运维的全链路实践,包括:
✅ 环境搭建 - 在线/离线完整安装方案
✅ 服务管理 - 启动停止与自启配置
✅ 镜像优化 - 加速源与迁移管理
✅ 日志监控 - 多样化查询与实时追踪
✅ 跨平台构建 - 多架构镜像编译
✅ 系统优化 - 存储迁移与时区同步
✅ 空间管理 - 清理策略与磁盘分析
通过这套完整的操作指南,您可以快速掌握Docker的核心运维技能,实现高效的容器化部署和管理。
1550

被折叠的 条评论
为什么被折叠?



