当前位置: 首页 > ai >正文

ubuntu24.04.2安装docker自动化脚本

脚本

#!/bin/bash# Docker安装脚本 for Ubuntu 24.04.2# 检查是否为root用户
if [ "$(id -u)" -ne 0 ]; thenecho "请使用root用户或通过sudo运行此脚本"exit 1
fi# 更新软件包索引
#!/bin/bash# Docker安装脚本 for Ubuntu 24.04 (Noble Numbat)# 检查是否为root用户
if [ "$(id -u)" -ne 0 ]; thenecho "请使用root用户或通过sudo运行此脚本"exit 1
fi# 1. 更新软件包索引
echo "正在更新软件包索引..."
apt-get update -qq# 2. 安装必要依赖
echo "正在安装必要依赖..."
apt-get install -qq -y \ca-certificates \curl \gnupg \lsb-release# 3. 添加Docker官方GPG密钥(强制覆盖旧密钥)
echo "正在添加Docker官方GPG密钥..."
mkdir -p /etc/apt/keyrings
rm -f /etc/apt/keyrings/docker.gpg  # 强制删除旧密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg# 4. 添加Docker仓库(针对Ubuntu 24.04)
echo "正在设置Docker稳定版仓库..."
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null# 5. 再次更新软件包索引
echo "再次更新软件包索引..."
apt-get update -qq# 6. 安装Docker引擎
echo "正在安装Docker引擎..."
apt-get install -qq -y \docker-ce \docker-ce-cli \containerd.io \docker-buildx-plugin \docker-compose-plugin# 7. 验证安装
echo "验证Docker安装..."
if docker --version &> /dev/null; thenecho "Docker已成功安装:"docker --version
elseecho "Docker安装失败,尝试手动修复..."# 尝试修复密钥问题apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8apt-get update -qqapt-get install -y docker-ce docker-ce-cli containerd.io
fi# 8. 将当前用户添加到docker组
read -p "是否要将当前用户添加到docker组?(y/n): " add_to_docker_group
if [ "$add_to_docker_group" = "y" ] || [ "$add_to_docker_group" = "Y" ]; thenusermod -aG docker $SUDO_USERecho "已将用户 $SUDO_USER 添加到docker组。需要注销后重新登录才能生效。"
fiecho "Docker安装完成!"

安装效果

在这里插入图片描述

http://www.xdnf.cn/news/13914.html

相关文章:

  • React Native 性能优化实践
  • 【Linux网络编程】基于udp套接字实现的网络通信
  • 2024年06月青少年软件编程(图形化)等级考试试卷(四级)
  • 一名高级运维工程师,一台新服务器,安装windows系统后,在网络攻防(护网行动)形式下,应该怎么做安全加固?
  • Arduino入门教程:​​​​​​​2、代码基础
  • 在 cuda 基础环境中安装完整的cupy
  • Spring AI Chat Memory 指南
  • Prompt从入门到抄作业
  • 联邦算法分析:技术深度探索与实践应用
  • Linux系统权限提升篇Vulnhub辅助项目SUID权限SUDO指令版本漏洞
  • React ajax中的跨域以及代理服务器
  • python 爬虫,爬取某乎某个用户的全部内容 + 写个阅读 app,慢慢读。
  • OpenCV CUDA模块图像变形------对图像进行GPU加速的仿射变换函数warpAffine()
  • Spring Cloud Gateway + JWT 单点登录实现方案(无独立的认证服务器)
  • doris manager 安装部署 、管理已有doris集群、使用studio进行SQL查询
  • croc-文件传输工具
  • Rust 学习笔记:Stream
  • 机器学习算法_聚类KMeans算法
  • 中小企业服务器低成本的防勒索工具:RDM防勒索
  • Python实现下载监控工具:自动检测并移动下载文件
  • 金融领域LLM开源测试集
  • C. Cherry Bomb
  • SpringBoot 服务器监控 监控系统开销 获取服务器系统的信息用户信息 运行信息 保持稳定
  • Rethinking Coarse-to-Fine Approach in Single Image Deblurring论文阅读
  • 产品哲学:用户收益>操作成本,字节跳动成功的底层逻辑
  • 泰国数码电商系统定制|3C产品详情泰语化+售后管理,适配泰国数码零售
  • 【QT】QTableView自定义样式:仅显示行间隔、隐藏列间隔、表头样式、表格样式、单行选中等
  • python+django/flask成都奥科厨具厂产品在线销售系统
  • Vue中v-if条件渲染的常见陷阱:以金额显示为例
  • Android音视频多媒体开源框架基础大全