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

个人主页网站在线域名注册

个人主页网站,在线域名注册,wordpress 调试插件下载,专业网站设计制作价格旧的centos7 之前安装的是docker.io 由于一些原因,像docker compose 等版本变化,以及docker.io源受限等,我们要更新到docker-ce 并使用国内阿里云的源怎么处理?下面直接上脚本,upgrade-docker.sh #!/bin/bashset -e# 创建临时目录 TEMP_DIR"./tmp" mkdir -p "…

旧的centos7 之前安装的是docker.io 由于一些原因,像docker compose 等版本变化,以及docker.io源受限等,我们要更新到docker-ce 并使用国内阿里云的源怎么处理?下面直接上脚本,upgrade-docker.sh

#!/bin/bashset -e# 创建临时目录
TEMP_DIR="./tmp"
mkdir -p "$TEMP_DIR"# 函数:错误处理和回滚
rollback() {echo "发生错误。正在回滚更改..."if [ -f "$TEMP_DIR/docker_images.tar" ]; thendocker load -i "$TEMP_DIR/docker_images.tar"fiif [ -d "$TEMP_DIR/docker_containers_backup" ]; thenfor container in "$TEMP_DIR/docker_containers_backup"/*; dodocker import "$container" $(basename "$container")donefiif [ -f "$TEMP_DIR/docker-compose" ]; thensudo mv "$TEMP_DIR/docker-compose" /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composefiif [ -f "$TEMP_DIR/docker_config.txt" ]; thenwhile IFS= read -r line; doeval "$line"done < "$TEMP_DIR/docker_config.txt"fisudo yum downgrade -y docker-ce docker-ce-cli containerd.iosudo systemctl start dockerecho "回滚完成。系统已恢复到之前的状态。"exit 1
}# 捕获错误并调用回滚函数
trap rollback ERR# 保存当前的Docker数据和配置
echo "正在保存当前的Docker数据和配置..."
mkdir -p "$TEMP_DIR/docker_containers_backup"
docker save $(docker images -q) -o "$TEMP_DIR/docker_images.tar"# 保存每个容器的配置
docker ps -a --format '{{.Names}}' | while read container_name; dodocker inspect "$container_name" > "$TEMP_DIR/docker_containers_backup/${container_name}_inspect.json"docker export "$container_name" > "$TEMP_DIR/docker_containers_backup/${container_name}.tar"
done# 保存Docker守护进程配置
docker info --format '{{json .}}' > "$TEMP_DIR/docker_config.txt"# 停止Docker服务
echo "正在停止Docker服务..."
sudo systemctl stop docker# 备份 docker-compose
if [ -f /usr/local/bin/docker-compose ]; thenecho "正在备份docker-compose..."sudo cp /usr/local/bin/docker-compose "$TEMP_DIR/docker-compose"
fi# 卸载旧版本的Docker和docker-compose
echo "正在卸载旧版本的Docker和docker-compose..."
sudo yum remove -y docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine \docker-ce \docker-ce-cli
sudo rm -f /usr/local/bin/docker-compose# 安装必要的依赖
echo "正在安装必要的依赖..."
sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加阿里云Docker CE的yum源
echo "正在添加阿里云Docker CE的yum源..."
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装Docker CE
echo "正在安装Docker CE..."
sudo yum install -y docker-ce docker-ce-cli containerd.io# 恢复Docker守护进程配置
if [ -f "$TEMP_DIR/docker_config.txt" ]; thenecho "正在恢复Docker守护进程配置..."sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak || truesudo jq -s '.[0] * .[1]' /etc/docker/daemon.json "$TEMP_DIR/docker_config.txt" | sudo tee /etc/docker/daemon.json > /dev/null
fi# 启动Docker服务
echo "正在启动Docker服务..."
sudo systemctl start docker# 设置Docker开机自启
echo "正在设置Docker开机自启..."
sudo systemctl enable docker# 恢复之前保存的Docker数据
echo "正在恢复Docker数据..."
docker load -i "$TEMP_DIR/docker_images.tar"# 恢复容器
for container in "$TEMP_DIR/docker_containers_backup"/*_inspect.json; docontainer_name=$(basename "$container" _inspect.json)echo "正在恢复容器: $container_name"# 从备份中导入容器镜像cat "$TEMP_DIR/docker_containers_backup/${container_name}.tar" | docker import - "$container_name:backup"# 从inspect文件中提取必要的配置config=$(jq '.[] | {Image: .Config.Image, Cmd: .Config.Cmd, Entrypoint: .Config.Entrypoint, Env: .Config.Env, ExposedPorts: .Config.ExposedPorts, Volumes: .Config.Volumes, WorkingDir: .Config.WorkingDir, HostConfig: .HostConfig}' "$container")# 使用提取的配置创建新容器docker create $(echo "$config" | jq -r '.HostConfig | to_entries | map("\(.key)=\(.value|tostring)") | join(" ")') \$(echo "$config" | jq -r 'to_entries | map("\(.key)=\(.value|tostring)") | join(" ")') \--name "$container_name" \"$container_name:backup"# 如果容器之前是运行状态,则启动它if [ "$(jq -r '.[0].State.Running' "$container")" = "true" ]; thendocker start "$container_name"fi
done# 清理临时文件
echo "正在清理临时文件..."
rm -rf "$TEMP_DIR"# 验证 docker compose 命令
if docker compose version; thenecho "Docker Compose (V2) 已成功安装。"
elseecho "Docker Compose (V2) 不可用。请检查您的Docker安装。"rollback
fiecho "Docker CE 安装、数据迁移和 docker-compose 移除已成功完成。"
echo "所有容器已恢复,保留了原始名称、参数和配置。"


 

http://www.yayakq.cn/news/824268/

相关文章:

  • 如何建设部网站查职称漳平网站建设
  • 网站建设与制作好学吗怎么做非法彩票网站吗
  • 淘宝网站店铺请人做wordpress搜索调用
  • 安徽省新天源建设公司网站网站首页设计收费
  • 马云将来淘汰的十个行业网站建设网站建设销售合作合同范本
  • ae做模板下载网站软文广告
  • 网站如何接入支付宝国际新闻快报
  • h5和网站的区别seo百度推广
  • 怎么做婚介网站企业建网站作用
  • 建设公司网站需要准备什么俄罗斯网站设计
  • 设计网站大全国内深圳58同城网站建设
  • 网站建设进什么科目比特币做游戏币的网站
  • 传统pc网站代刷网站只做软件
  • 万网怎么做网站自己做网站练手
  • 西安做网站哪家好wordpress更改作者
  • 精品建设课程网站凤岗网站建设公司
  • 汕头建站模板源码男生最喜欢的浏览器推荐
  • 江苏省建设厅网站资质升级阿里云编辑建设好的网站
  • 母婴网站建设初衷双喜常州网站建设
  • 怎么做游戏平台网站30天网站建设实录光盘云盘
  • 英文网站如何做做网站好还是做安卓app好
  • 手机网站被禁止访问怎么打开想做一个自己的网站
  • 有什么网站建设比较好的公司my63777免费域名查询2024年
  • 网站建设海报图片自己做网站语言包怎么做
  • 为什么谷歌网站打不开开发公司工程部年终工作总结
  • 苏州网站建设模版莱芜警方网站官网
  • 网站蓝色绿色配色短视频营销案例分析
  • 梅州做网站公司服装网站开发项目计划书
  • 将网站保存怎么做企业网站东莞网站建设制作
  • 做网站时 404网页如何指向哪里有网站建设开发公司