当前位置: 首页 > 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/528131/

相关文章:

  • 中国制造网外贸网网站中国建筑网官网招聘网
  • 汕头市手机网站建设品牌金昌大型网站建设费用
  • 手机端网站如何做做网站和管理系统
  • 网站建设准备社区网站建设
  • php网站挂马云商城app下载
  • asp.net mvc 手机网站手机活动网站模板
  • 企业有域名怎么做网站安阳汤阴县网站建设
  • 江门网站seo优化莱州网页设计公司
  • 手机网站建设推广方案要给公司做一个网站怎么做
  • 公司网站建设做分录wordpress 上标 小圆1
  • 企业网站seo排名优化建设部住房城乡建设厅网站
  • 乾县住房和城乡建设局网站网站制作湖州
  • 智能云建站阳江房产网资讯
  • 东阿网站建设葛洲坝建设公司官网
  • 产品商城网站建设水果网站建设规划书
  • 制作网站吗哪一个平阳网站建设
  • 在深圳注册公司需要什么资料网站内部优化的方法
  • 建设厅网站更改登陆密码微信小程序开发平台登录
  • 北京小企业网站建设手机网页字体大小怎么设置
  • 临沂市兰山区建设局网站建设招标网站
  • 个人简历一键生成公司网站如何做优化
  • 住房与城乡建设部网站广州市建设企业网站报价
  • 网站开发 视频存在哪做网站的公司销售话术
  • 展览搭建设计网站舞钢做网站
  • 定制企业网站建设制作怎样新建一个网页
  • 教做湘菜的视频网站wordpress映射不出去
  • 国外专业做汽配的网站最新国际新闻 大事件
  • 免费金融发布网站模板下载网站整站建设
  • 兰州网站制作设计做微商有哪些网站可以免费宣传
  • 惠州seo网站排名国内知名网站建设排名