一键安装Docker服务,Docker解决方案,Docker镜像源修改,CentOS7安装Docker,Ubuntu安装Docker

发布时间:2026/9/14 18:09:22

一键安装Docker服务,Docker解决方案,Docker镜像源修改,CentOS7安装Docker,Ubuntu安装Docker 生产环境的Docker Root Dir主目录推荐使用其它文件夹且硬盘要最大否则docker日志容易占满磁盘空间文章目录CentOS7安装DockerUbuntu安装Docker修改Docker镜像源docker设置容器自动启动启动时加--restartalways如果已经过运行的项目docker compose设置容器自启动docker file修改时区docker在容器执行命令简单粗暴的办法安装curldocker compose命令安装docker composeDocker WEB 图形化Jenkins 无法执行 docker 命令docker 查看某个时间段的日志Docker运行命令对宿主机进行打包Docker的overlay2占用系统空间Docker生产环境数据迁移到其它硬盘1.完整停止 Docker 相关服务2. 创建新目录并全量迁移数据3. 修改 daemon.json 配置4. 重载配置并启动 Docker5. 验证修改结果6. 收尾与清理CentOS7安装Docker# step 1: 安装必要的一些系统工具sudoyuminstall-yyum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息sudoyum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# Step 3sudosed-isdownload.docker.commirrors.aliyun.com/docker-ce/etc/yum.repos.d/docker-ce.repo# Step 4: 更新并安装Docker-CEsudoyum clean packagessudoyum-yinstalldocker-ce# Step 4: 开启Docker服务sudosystemctlenable--nowdocker# 注意# 官方软件源默认启用了最新的软件您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用您可以通过以下方式开启。同理可以开启各种测试版本等。# vim /etc/yum.repos.d/docker-ce.repo# 将[docker-ce-test]下方的enabled0修改为enabled1## 安装指定版本的Docker-CE:# Step 1: 查找Docker-CE的版本:# yum list docker-ce.x86_64 --showduplicates | sort -r# Loading mirror speeds from cached hostfile# Loaded plugins: branch, fastestmirror, langpacks# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable# Available Packages# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)# sudo yum -y install docker-ce-[VERSION]# 阿里云镜像有问题请使用下面镜像sudoyum clean allsudoyuminstall-yyum-utils device-mapper-persistent-data lvm2sudoyum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.reposudosed-is|https://download.docker.com|https://mirrors.tuna.tsinghua.edu.cn/docker-ce|g/etc/yum.repos.d/docker-ce.reposudoyum clean packagessudoyuminstall-ydocker-cesudosystemctlenable--nowdockerUbuntu安装Docker# 安装依赖apt-getinstallca-certificatescurlgnupg lsb-release# 添加Docker官方GPG密钥curl-fsSLhttp://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg|sudoapt-keyadd-# 添加Docker的软件源sudoadd-apt-repositorydeb [archamd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu$(lsb_release-cs)stable# 安装Dockerapt-getinstalldocker-ce docker-ce-cli containerd.io-y# 开启Docker服务systemctlenable--nowdocker修改Docker镜像源sudotee/etc/docker/daemon.jsonEOF { registry-mirrors: [ https://docker.1ms.run, https://docker.xuanyuan.me ] } EOF# 重启docker服务systemctl daemon-reloadsystemctl restartdockerdocker设置容器自动启动启动时加–restartalwaysdockerrun-tid--nameisaler_v0.0.11-p8081:8080--restartalways-v/alidata/iDocker/run/projectImages/isaler/v0.0.11/log:/usr/local/tomcat/logs isaler_v0.0.11 Flag Description no 不自动重启容器.(默认value)on-failure 容器发生error而退出(容器退出状态不为0)重启容器 unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器 always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器如果已经过运行的项目如果已经启动的项目则使用update更新dockerupdate--restartalways isaler_v0.0.11–restart参数--restart参数no 默认策略在容器退出时不重启容器 on-failure 在容器非正常退出时退出状态非0才会重启容器 on-failure:3 在容器非正常退出时重启容器最多重启3次 always 在容器退出时总是重启容器#开机自启unless-stopped 在容器退出时总是重启容器但是不考虑在Docker守护进程启动时就已经停止了的容器# 一般推荐使用always参数--restartalwaysdocker compose设置容器自启动docker-compose的配置文件是一个.yml格式的文件 第一部分 version:3#指定语法的版本第二部分 services:#定义服务nginx:#服务的名称-p参数后接服务名称container_name: web-nginx#容器的名称image: nginx:latest#镜像restart: always#设置开机自启ports:#端口映射-80:80 第三部分 volumes:#物理机与容器的磁盘映射关系- ./webserver:/webserver - ./nginx/nginx.conf:/etc/nginx/nginx.confdocker file修改时区CentosRUNrm-rf/etc/localtime RUNln-sf/usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUNechoAsia/shanghai/etc/timezone RUNechoexport TZCST-8 /etc/profile RUNsource/etc/profileUbuntuENVTZAsia/Shanghai RUNecho${TZ}/etc/timezone\ln-sf/usr/share/zoneinfo/${TZ}/etc/localtime\aptupdate\aptinstall-ytzdata\rm-rf/var/lib/apt/lists/*DebianENVTZAsia/Shanghai参考链接https://juejin.cn/post/7082670118257295391docker在容器执行命令宿主机安装yuminstallutil-linux# 1、找到容器的pid docker inspect -f {{.State.Pid}} bb4cdc8cf836[roottxy201-51 ~]# docker inspect test-nsenter -f {{.State.Pid}}7327# 2、使用nsenter进入这个命名空间[roottxy201-51 ~]# nsenter -t 7327 -n简单粗暴的办法dockercp/usr/sbin/ss c91f37f68301:/usr/sbin/ss安装curldockerps|grepexcel-cell-data-import|awk{print $1}|head-1# 修改容器ID然后按顺序执行ContainerIDda1c1842d2d6dockercp/usr/bin/curl$ContainerID:/usr/bin/curl#docker cp /lib64/libcurl.so.4 $ContainerID:/usr/lib64/dockercp/lib64/libcurl.so.4$ContainerID:/lib64/dockercp/lib64/libc.so.6$ContainerID:/lib64/dockercp/usr/lib64$ContainerID:/exportLD_LIBRARY_PATH/usr/lib64/exportLD_LIBRARY_PATH/lib64/dockerexec-ti$ContainerID/bin/bashdocker compose命令安装docker composeDocker WEB 图形化使用portainer图形化dockerrun-d-p9000:9000--nameportainer--restartalways-v/var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce持久化的数据目录为/data持久化的web 页面目录为/publicJenkins 无法执行 docker 命令# 把 Jenkins 加入 docker 组usermod-a-Gdockerjenkinsdocker 查看某个时间段的日志dockerlogs-t--since2022-05-16T15:13:05.999999999--until2022-05-16T17:00:05.999999999machexec_container-t显示时间戳--since显示自某个timestamp之后的日志--until显示自某个timestamp之前的日志Docker运行命令对宿主机进行打包PROJECT_PATH$(pwd)# 设置你的项目路径这里假设脚本与package.json在同一目录下NODE_VERSION18.20.6# 设置Node.js版本dockerpull node:$NODE_VERSION# 拉取指定版本的Node.js Docker镜像# 运行Docker容器并执行打包命令dockerrun--rm\-v$PROJECT_PATH:/usr/src/app\-w/usr/src/app\node:$NODE_VERSION\sh-cnpm i --registryhttp://registry.npmmirror.com npm run buildDocker的overlay2占用系统空间使用docker system prune命令删除当前系统所有临时镜像构建过程中产生的中间镜像使用docker system prune命令不会删除通过docker image ls或docker images命令查看到的所有镜像它只会移除悬空镜像dangling images。悬空镜像是那些未被打标签且不再被任何容器使用的镜像。如果一个镜像有名称和标签或者正在被某个容器使用那么它就不会被docker system prune删除。docker system prune不会删除明确列出有名称和标签且正在使用的镜像但docker system prune -a会删除任何未被使用的镜像无论它们是否有名称和标签。Docker生产环境数据迁移到其它硬盘1.完整停止 Docker 相关服务必须同时停止 socket 服务防止被自动唤醒导致数据损坏。sudosystemctl stopdockersudosystemctl stop docker.socketsudosystemctl stop containerd确认进程完全终止psaux|grep-idocker2. 创建新目录并全量迁移数据使用rsync同步数据可完整保留文件权限、属主、软链接和特殊属性支持断点续传。⚠️ 注意源目录末尾必须加/表示复制目录内的所有内容而非复制目录本身。# 示例新路径为 /data/dockersudomkdir-p/data/docker# 全量同步原有数据镜像、容器、数据卷、网络配置全部迁移sudorsync-avP/var/lib/docker/ /data/docker/同步完成后校验数据一致性du-sh/var/lib/docker /data/docker3. 修改 daemon.json 配置编辑 Docker 守护进程配置文件不存在则新建sudovi/etc/docker/daemon.json添加data-root配置项如果已有镜像加速、日志限制等配置用逗号分隔合并必须保证 JSON 格式合法{data-root:/data/docker}说明Docker 17.06 及以上版本统一使用data-root旧版本的graph参数已废弃不建议继续使用。4. 重载配置并启动 Dockersudosystemctl daemon-reloadsudosystemctl startdocker5. 验证修改结果确认根目录已生效dockerinfo|grepDocker Root Dir正常输出应为新路径例如Docker Root Dir: /data/docker验证业务数据完整性dockerps-a# 确认容器列表正常dockerimages# 确认镜像无丢失dockervolumels# 确认数据卷正常6. 收尾与清理验证所有业务运行正常后先将旧目录重命名备份观察 1-3 天无问题再彻底删除# 先备份保留sudomv/var/lib/docker /var/lib/docker.bak# 确认完全无问题后执行删除# sudo rm -rf /var/lib/docker.bak
延伸阅读

更多相关文章

2026/9/14 18:09:22

TIGRE多GPU并行计算:如何实现任意大尺寸图像重建

TIGRE多GPU并行计算:如何实现任意大尺寸图像重建 【免费下载链接】TIGRE TIGRE: Tomographic Iterative GPU-based Reconstruction Toolbox 项目地址: https://gitcode.com/gh_mirrors/ti/TIGRE TIGRE(Tomographic Iterative GPU-based Reconstru…

2026/9/13 3:05:23

5个ExplorerPatcher安装失败的常见问题与专业解决方法

5个ExplorerPatcher安装失败的常见问题与专业解决方法 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher ExplorerPatcher是一款强大的Windows界面…

2026/9/14 18:05:15

手把手搭建直播高并发后端:从Netty长连接到消息队列实战

“后端小白”这个标签,我在自己博客的自我介绍里挂了快一年,直到上个月,我终于用一个周末把一套直播场景的高并发后端环境从零跑通了。说实话,这套环境放到大厂里也就是个玩具,但对于一个平时只写CRUD、连消息队列都没…

2026/9/14 18:00:14

Spring构造注入:原理、优势与最佳实践

1. 为什么构造注入是Spring官方推荐的方式 在Spring框架中,依赖注入(Dependency Injection)是实现控制反转(IoC)的核心机制。Spring提供了三种主要的依赖注入方式:字段注入(Field Injection&…

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/14 0:03:22

KCF目标跟踪算法与OTB工程实现:毕业设计实战解析

简介:这是一份基于KCF核相关滤波算法、融合尺度池与抗遮挡处理的目标检测跟踪MATLAB完整源码,主要面向计算机相关专业准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初学者。源码在OTB数据集上完成验证,能够…

2026/9/14 0:03:22

语音情感识别实战:Keras实现LSTM、CNN、SVM与MLP多模型对比

简介:面向语音情感识别入门与进阶开发者,这份基于Keras的项目源码完整实现了LSTM、CNN、SVM、MLP四种模型,兼容Python3.8与Keras/TensorFlow2环境。压缩包内含49个文件,大小约70.31MB,主体包括Python脚本、yaml/json配…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码