Linux 离线部署 Docker 18.06.3 终极指南(附一键安装卸载脚本)

Linux 离线部署 Docker 18.06.3 终极指南(附一键安装/卸载脚本)

摘要:本文针对无外网环境的 Linux 服务器,提供基于二进制包的 Docker 18.06.3 离线安装全流程指南。包含自动化脚本设计服务配置优化安全卸载方案,解决企业内网、隔离环境下的容器化部署难题。

一、离线安装原理与准备

1.1 方案优势分析

  • 无需网络:基于静态二进制包(.tgz)脱离在线依赖
  • 快速部署:通过 Shell 脚本实现一键安装/卸载
  • 版本可控:锁定 Docker 18.06.3 稳定版,避免兼容性问题

1.2 环境要求

项目最低要求
操作系统CentOS 7+/Ubuntu 16+
内核版本≥ 3.10(推荐 4.x)
系统架构x86_64
磁盘空间≥ 500MB

二、离线安装全流程实战

2.1 获取安装包

从官方仓库下载对应版本(直达链接):

# 文件名称
docker-18.06.3-ce.tgz

2.2 上传文件到服务器

通过 SCP/U盘/内网传输将以下文件上传至目标服务器:

  • docker-18.06.3-ce.tgz
  • docker.service(系统服务文件)
  • install.sh(安装脚本)

2.3 脚本解析与执行

安装脚本 install.sh
#!/bin/shecho '解压tar包'
tar -xvf docker-18.06.3-ce.tgzecho '将docker目录下所有文件复制到/usr/bin目录'
cp docker/* /usr/binecho '将docker.service 复制到/etc/systemd/system/目录'
cp docker.service /etc/systemd/system/echo '添加文件可执行权限'
chmod +x /etc/systemd/system/docker.serviceecho '重新加载配置文件'
systemctl daemon-reloadecho '启动docker'
systemctl start dockerecho '设置开机自启'
systemctl enable docker.serviceecho '======= 安装完成 ======='
docker -v
服务文件 docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always[Install]
WantedBy=default.target
执行安装
# 授权并执行
chmod +x install.sh docker.service
./install.sh

预期输出

Docker version 18.06.3-ce, build d7080c1

三、安装后验证与调优

3.1 基础功能测试

# 查看服务状态
systemctl status docker# 运行测试容器
docker run --rm hello-world

成功输出 Hello from Docker! 表示安装正确。

3.2 安全加固配置(可选)

编辑 /etc/docker/daemon.json

{"userns-remap": "default","log-driver": "json-file","log-opts": {"max-size": "100m","max-file": "3"},"live-restore": true
}

重启服务生效:

systemctl restart docker

四、彻底卸载 Docker

4.1 卸载脚本 uninstall.sh

#!/bin/shecho '停止docker服务'
systemctl stop dockerecho '删除docker.service'
rm -f /etc/systemd/system/docker.serviceecho '删除二进制文件'
rm -rf /usr/bin/docker* /usr/bin/containerd* /usr/bin/runcecho '清理数据目录(谨慎操作!)'
rm -rf /var/lib/dockerecho '重新加载systemd'
systemctl daemon-reloadecho '======= 卸载完成 ======='

4.2 执行卸载

chmod +x uninstall.sh
./uninstall.sh

五、常见问题与解决方案

Q1:安装后 docker ps 无权限

报错Got permission denied while trying to connect to the Docker daemon socket
解决

sudo usermod -aG docker $USER && newgrp docker

Q2:服务启动失败

排查命令

journalctl -u docker.service --since "10 minutes ago"

Q3:镜像存储路径更改

编辑 /etc/docker/daemon.json

{"data-root": "/new/path/to/docker"
}

六、性能优化建议

  1. 存储驱动选择

    # 查看当前驱动
    docker info | grep "Storage Driver"
    
    • 推荐:overlay2(需内核≥4.x)
  • 旧版系统:devicemapper
  1. 日志轮转配置
    {"log-driver": "json-file","log-opts": {"max-size": "100m","max-file": "3"}
    }
    

扩展工具推荐:Portainer 可视化容器管理工具

如果本教程帮助您解决了问题,请点赞❤️收藏⭐关注支持!欢迎在评论区留言交流技术细节!欲了解密码学知识,请订阅《密码学实战》专栏 → 密码学实战

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/77711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端】跟着maxkb学习logicflow流程图画法

文章目录 背景1. 选定学习对象-maxkb应用逻辑编排2. 确定实现框架3. 关键逻辑:查看app-node.js4. 学习开始节点绘制流程数据形式 5. 给节点增加表单输入框遇到过的问题 背景 看看前端如何绘制流程图,界面好看点。 "logicflow/core": "1.…

Android 12系统静态壁纸深度定制指南

1. 需求背景与实现原理 在Android 12系统ROM定制开发中,扩展静态壁纸功能需要深入理解WallpaperManagerService的架构体系。系统壁纸管理通过双端协作实现: WallpaperManagerService(frameworks层):负责壁纸状态管理、…

相得益彰 — 基于 GraphRAG 事理图谱驱动的实时金融行情新闻资讯洞察

*本文为亚马逊云科技博客文章,仅用于技术分享,不构成投资建议或金融决策支持。文中涉及的公司名称仅用于技术示例,不代表亚马逊云科技观点或与这些公司的商业合作关系。 背景介绍 在当今这个信息爆炸的时代,金融市场每天都在产生…

OpenCV---图像预处理(四)

OpenCV—图像预处理(四) 文章目录 OpenCV---图像预处理(四)九,图像掩膜9.1 制作掩膜9.2 与运算9.3 颜色替换9.3.19.3.2 颜色替换 十,ROI切割十 一,图像添加水印11.1模板输入11.2 与运算11.3 图像…

【MySQL】:数据库事务管理

一:学习路径 (1)下载安装mysql (2)学习语言:SQL(操作数据库) (3)mysql集群(提升数据库存储效率) (4)SQL使用,M…

内存函数和动态内存管理

目录 一、memcpy库函数介绍 1. memcpy的使用 2. memcpy的模拟 二、memmove库函数介绍 1. memmove的使用 2. memmove的模拟 三、memset库函数介绍 四、memcmp库函数介绍 五、动态内存中malloc和free 1. malloc 2. free 六、动态内存中calloc和realloc 1. calloc 2. realloc 七、…

yarn的基本介绍

1.Hadoop的三大结构及各自的作用: Hadoop是一个开源的分布式计算框架,它主要包括三大核心组件:HDFS(Hadoop Distributed File System)、YARN(Yet Another Resource Negotiator)和MapReduce。以…

STM32的启动方式

目录 一、从主闪存存储器启动(Main Flash Memory) 二、从系统存储器启动(System Memory) 三、从内置SRAM启动(Embedded SRAM) 四、从外挂存储介质启动的实现方式 1. 存储介质选型 2. 硬件连接 3. 引…

STC定时器频率占空比程序

// // 一、宏定义区 // #include <STC15.H> //头文件 #include <intrins.h> //库函数文件 #define FOSC 12000000L //IRC频率 typedef …

数据库服务器架构

ORM ORM&#xff08;Object Relational Mapping&#xff09;&#xff1a;对象与关系数据之间的映射 映射关系表&#xff1a; 类&#xff08;class&#xff09;—— 数据库的表&#xff08;table&#xff09; 对象&#xff08;object&#xff09;——记录&#xff08;record…

【论文速递】2025年04周 (Robotics/Embodied AI/LLM)

目录 DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning摘要 Evolving Deeper LLM Thinking摘要 Kimi k1.5: Scaling Reinforcement Learning with LLMs摘要 Agent-R: Training Language Model Agents to Reflect via Iterative Self-Train…

FortiAI 重塑Fortinet Security Fabric全面智能化进阶

专注推动网络与安全融合的全球性综合网络安全解决方案供应商 Fortinet&#xff08;NASDAQ&#xff1a;FTNT&#xff09;&#xff0c;近日宣布&#xff0c;旗下 Fortinet Security Fabric 安全平台成功嵌入了 FortiAI 关键创新功能。这一举措将有效增强用户对各类新兴威胁的防护…

汽车免拆诊断案例 | 2019款大众途观L车鼓风机偶尔不工作

故障现象 一辆2019款大众途观L车&#xff0c;搭载DKV发动机和0DE双离合变速器&#xff0c;累计行驶里程约为8万km。车主进厂反映&#xff0c;鼓风机偶尔不工作。 故障诊断  接车后试车&#xff0c;鼓风机各挡位均工作正常。用故障检测仪检测&#xff0c;空调控制单元&#x…

MySQL为什么默认使用RR隔离级别?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL为什么默认使用RR隔离级别?】面试题。希望对大家有帮助&#xff1b; MySQL为什么默认使用RR隔离级别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL 默认使用 RR&#xff08;Repeatable Read&#xff09;…

目标检测篇---R-CNN梳理

目标检测系列文章 第一章 R-CNN 目录 目标检测系列文章&#x1f4c4; 论文标题&#x1f9e0; 论文逻辑梳理1. 引言部分梳理 (动机与思想) &#x1f4dd; 三句话总结&#x1f50d; 方法逻辑梳理&#x1f680; 关键创新点&#x1f517; 方法流程图补充边界框回归 (BBR)1. BBR 的…

Java技术栈 —— 基本规范

Java技术栈 —— 基本规范 一、接口文档生成工具二、接口设计2.1 开发顺序2.2 接口规范 三、数据类封装 一、接口文档生成工具 有很多jar包都支持swagger的接口文档&#xff0c;这样方便了接口测试&#xff0c;不需要用apifox自己写接口&#xff0c;直接调用文档里的swagger接…

Django ORM 定义模型

提示&#xff1a;定义模型字段的类型 文章目录 一、字段类型二、字段属性三、元信息 一、字段类型 常用字段 字段名描述备注AutoFieldint 自增必填参数 primary_keyTrue&#xff0c;无该字段时&#xff0c;django自动创建一个 BigAutoField&#xff0c;一个model不能有两个Au…

[密码学基础]GB与GM国密标准深度解析:定位、差异与协同发展

[密码学基础]GB与GM国密标准深度解析&#xff1a;定位、差异与协同发展 导语 在国产密码技术自主可控的浪潮下&#xff0c;GB&#xff08;国家标准&#xff09;与GM&#xff08;密码行业标准&#xff09;共同构建了我国商用密码的技术规范体系。二者在制定主体、法律效力、技术…

Day-1 漏洞攻击实战

实训任务1 漏洞攻击实战一 使用 御剑 得到网站后台地址 数据库登录与日志配置​​ 使用默认密码 root:root 登录phpMyAdmin&#xff0c;执行 SHOW VARIABLES LIKE general% 查看日志状态。 开启日志功能&#xff1a;set global general_log "ON";&#xff08;配图&…

leetcode 2563. 统计公平数对的数目 中等

给你一个下标从 0 开始、长度为 n 的整数数组 nums &#xff0c;和两个整数 lower 和 upper &#xff0c;返回 公平数对的数目 。 如果 (i, j) 数对满足以下情况&#xff0c;则认为它是一个 公平数对 &#xff1a; 0 < i < j < n&#xff0c;且lower < nums[i] …