Linux一键安装Docker和Docker Compose

devtools/2025/1/14 22:05:36/

Centos docker安装脚本

#!/bin/bash# docker_manager.sh
# 用于管理 Docker 和 Docker Compose 的交互脚本# =======================
# 配置变量
# =======================# Docker 仓库地址
DOCKER_REPO="https://download.docker.com/linux/centos/docker-ce.repo"# =======================
# 函数定义
# =======================# 安装 Docker 和 Docker Compose
install_docker() {echo "正在安装 Docker..."# 移除旧版本sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 安装必要的软件包sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加 Docker 仓库sudo yum-config-manager --add-repo $DOCKER_REPO# 安装 Dockersudo yum install -y docker-ce docker-ce-cli containerd.io# 启动并设置开机自启sudo systemctl start dockersudo systemctl enable dockerecho "Docker 安装完成。"# 安装 Docker Composeecho "正在安装 Docker Compose..."# 获取最新版本号DOCKER_COMPOSE_LATEST=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)if [ -z "$DOCKER_COMPOSE_LATEST" ]; thenecho "无法获取 Docker Compose 最新版本号。请手动检查 https://github.com/docker/compose/releases"returnfi# 下载 Docker Compose 二进制文件sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_LATEST}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 授予可执行权限sudo chmod +x /usr/local/bin/docker-compose# 创建软链接(可选)sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose# 验证安装if command -v docker-compose &> /dev/null; thenecho "Docker Compose 安装完成,版本:$(docker-compose --version)"elseecho "Docker Compose 安装失败。"fi
}# 启动 Docker 服务
start_docker() {echo "正在启动 Docker 服务..."sudo systemctl start dockersudo systemctl enable dockerecho "Docker 服务已启动。"
}# 重启 Docker 服务
restart_docker() {echo "正在重启 Docker 服务..."sudo systemctl restart dockerif [ $? -eq 0 ]; thenecho "Docker 服务已成功重启。"elseecho "Docker 服务重启失败,请检查日志。"fi
}# 停止 Docker 服务
stop_docker() {echo "正在停止 Docker 服务..."sudo systemctl stop dockerif [ $? -eq 0 ]; thenecho "Docker 服务已停止。"elseecho "Docker 服务停止失败,请检查日志。"fi
}# 卸载 Docker 和 Docker Compose
uninstall_docker() {echo "正在卸载 Docker..."# 停止 Docker 服务sudo systemctl stop docker# 卸载 Dockersudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 删除所有镜像、容器、卷和网络sudo rm -rf /var/lib/dockerecho "Docker 已卸载。"# 卸载 Docker Composeecho "正在卸载 Docker Compose..."sudo rm -f /usr/local/bin/docker-composesudo rm -f /usr/bin/docker-composeecho "Docker Compose 已卸载。"
}# 显示菜单
show_menu() {echo "=============================="echo "      Docker 管理脚本         "echo "=============================="echo "1. 安装 Docker(包括 Docker Compose)"echo "2. 启动 Docker 服务"echo "3. 重启 Docker 服务"echo "4. 停止 Docker 服务"echo "5. 卸载 Docker(包括 Docker Compose)"echo "6. 退出"echo "=============================="
}# =======================
# 主程序
# =======================while true; doshow_menuread -p "请输入你的选择 [1-6]:" choicecase $choice in1)install_docker;;2)start_docker;;3)restart_docker;;4)stop_docker;;5)uninstall_docker;;6)echo "退出脚本。"exit 0;;*)echo "无效的选择,请重新输入。";;esacecho ""
done

Ubuntu docker安装脚本

#!/bin/bash# docker_manager.sh
# 用于管理 Docker 和 Docker Compose 的交互脚本(适用于 Ubuntu)# =======================
# 配置变量
# =======================# Docker 仓库地址
DOCKER_REPO="https://download.docker.com/linux/ubuntu"# =======================
# 函数定义
# =======================# 安装 Docker 和 Docker Compose
install_docker() {echo "正在安装 Docker..."# 移除旧版本sudo apt-get remove -y docker docker-engine docker.io containerd runc# 更新包索引sudo apt-get update# 安装必要的软件包sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release# 添加 Docker 的官方 GPG 密钥curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 设置稳定的 Docker 仓库echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] $DOCKER_REPO $(lsb_release -cs) stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 更新包索引sudo apt-get update# 安装 Docker Engine、Docker CLI 和 containerdsudo apt-get install -y docker-ce docker-ce-cli containerd.io# 启动并设置开机自启sudo systemctl start dockersudo systemctl enable dockerecho "Docker 安装完成。"# 安装 Docker Composeecho "正在安装 Docker Compose..."# 获取最新版本号DOCKER_COMPOSE_LATEST=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)if [ -z "$DOCKER_COMPOSE_LATEST" ]; thenecho "无法获取 Docker Compose 最新版本号。请手动检查 https://github.com/docker/compose/releases"returnfi# 下载 Docker Compose 二进制文件sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_LATEST}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 授予可执行权限sudo chmod +x /usr/local/bin/docker-compose# 创建软链接(可选)sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose# 验证安装if command -v docker-compose &> /dev/null; thenecho "Docker Compose 安装完成,版本:$(docker-compose --version)"elseecho "Docker Compose 安装失败。"fi
}# 启动 Docker 服务
start_docker() {echo "正在启动 Docker 服务..."sudo systemctl start dockersudo systemctl enable dockerecho "Docker 服务已启动。"
}# 重启 Docker 服务
restart_docker() {echo "正在重启 Docker 服务..."sudo systemctl restart dockerif [ $? -eq 0 ]; thenecho "Docker 服务已成功重启。"elseecho "Docker 服务重启失败,请检查日志。"fi
}# 停止 Docker 服务
stop_docker() {echo "正在停止 Docker 服务..."sudo systemctl stop dockerif [ $? -eq 0 ]; thenecho "Docker 服务已停止。"elseecho "Docker 服务停止失败,请检查日志。"fi
}# 卸载 Docker 和 Docker Compose
uninstall_docker() {echo "正在卸载 Docker..."# 停止 Docker 服务sudo systemctl stop docker# 卸载 Dockersudo apt-get purge -y docker-ce docker-ce-cli containerd.io# 删除所有镜像、容器、卷和网络sudo rm -rf /var/lib/dockersudo rm -rf /var/lib/containerdecho "Docker 已卸载。"# 卸载 Docker Composeecho "正在卸载 Docker Compose..."sudo rm -f /usr/local/bin/docker-composesudo rm -f /usr/bin/docker-composeecho "Docker Compose 已卸载。"
}# 显示菜单
show_menu() {echo "=============================="echo "      Docker 管理脚本         "echo "=============================="echo "1. 安装 Docker(包括 Docker Compose)"echo "2. 启动 Docker 服务"echo "3. 重启 Docker 服务"echo "4. 停止 Docker 服务"echo "5. 卸载 Docker(包括 Docker Compose)"echo "6. 退出"echo "=============================="
}# =======================
# 主程序
# =======================while true; doshow_menuread -p "请输入你的选择 [1-6]:" choicecase $choice in1)install_docker;;2)start_docker;;3)restart_docker;;4)stop_docker;;5)uninstall_docker;;6)echo "退出脚本。"exit 0;;*)echo "无效的选择,请重新输入。";;esacecho ""
done


http://www.ppmy.cn/devtools/150514.html

相关文章

Git | git reset命令详解

关注:CodingTechWork 引言 Git 是一款非常流行的分布式版本控制工具,它帮助开发者有效地管理代码历史,支持多种功能来帮助团队协作、追踪修改和维护代码质量。git reset是 Git 中最强大、最复杂的命令之一,它的主要作用是重置当前…

计算机网络 —— 网络编程(TCP)

计算机网络 —— 网络编程(TCP) TCP和UDP的区别TCP (Transmission Control Protocol)UDP (User Datagram Protocol) 前期准备listen (服务端)函数原型返回值使用示例注意事项 accpect (服务端)函数原型返回…

Windows安装HDC工具及鸿蒙手机开启HDC调试

安卓手机使用的adb命令,鸿蒙手机使用的是hdc命令 windows 系统 连接鸿蒙手机进行调试的方法步骤: HDC工具下载:**传送门~~ 二选一,我选的是全量包下载 下载解压之后找到toolchains文件夹,将路径配置到系统环境变量中即…

【Ubuntu与Linux操作系统:八、Ubuntu桌面应用】

第8章 Ubuntu桌面应用 8.1 Internet应用 Ubuntu操作系统提供丰富的互联网应用工具,涵盖浏览网页、电子邮件、文件共享、即时通讯等日常需求。其开源生态系统中,多数应用免费且功能强大,兼容多种网络服务。 1. 网页浏览器 Ubuntu内置了多种浏…

安全运维管理 10.9密码管理

密码技术是保证信息保密性和完整性的重要技术,为保证密码技术使用过程的安全,在遵循相关的国家标准和行业标准基础上,对于涉及到的产品、设备和密码需要加强管理。 10.9.1 应遵循密码相关的国家标准和行业标准。 密码生产需要授权许可&#…

单细胞组学大模型(8)--- scGenePT,scGPT和GenePT的结合,实验数据和文本数据的交融模型

–https://doi.org/10.1101/2024.10.23.619972 研究团队和单位 Theofanis Karaletsos–Head Of AI - Science at Chan Zuckerberg Initiative (Chan Zuckerberg Initiative是扎克伯格和他妻子Chan成立的科研&教育机构) 研究简介 研究背景&…

从硬件设备看Linux

一、介绍 DM3730通过各种连接方式连接了各种设备,输入输出设备根据不同的类型大体可 以分为电源管理、用户输人、显示输出、图像采集、存储以及无线设备等。我们可以将DM 3730与这些设备的数据接口分为总线和单一的数据接口总线。总线的显著特点是单个总线上可以连…

51单片机 和 STM32 在硬件操作上的差异

51单片机 和 STM32 在硬件操作上的差异 1. 时钟系统的差异 STM32 的时钟系统 STM32 的时钟系统非常复杂,支持多种时钟源(如内部晶振、外部晶振、PLL 等),并且每个外设(如 GPIO、定时器、串口等)都有独立的…