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

放弃原容器建立新容器,保存留数据卷且映射

一.以mysql容器为例子
1.sudo mkdir -p /home/mysql_data #创建新文件夹

2.sudo chown -R 999:999 /home/mysql_data  # 将目录所有权设为MySQL容器内使用的用户(通常是999:999) 将 /home/mysql_data 目录及其内部所有文件和子目录的所有者改为UID为999的用户和GID为999的组
3.sudo docker stop <你的MySQL容器名或ID>
 4.迁移文件:

# 方案A:使用rsync(更安全,保留原数据作为备份)# 不使用这个,这个命令太少见
sudo rsync -avh /var/lib/docker/volumes/56a6f816b2fd9e5fc12d87cc346d37514c8d455f58ccd71a86190926c9602f4c/_data/ /home/mysql_data/

# 方案B:直接移动(更快,但原目录会清空)
sudo mv /var/lib/docker/volumes/56a6f816b2fd9e5fc12d87cc346d37514c8d455f58ccd71a86190926c9602f4c/_data/* /home/mysql_data/
强烈建议先使用方案A的 rsync 命令,这样如果出现问题,原始数据还在。

#方案C:复制
sudo cp -rp /var/lib/docker/volumes/56a6f.../_data/* /home/mysql_data/ #这里r是递归子目录和文件,p保留源文件权限,时间戳等属性

5.docker run -d --name medictechserver -p 3307:3306 -v /home/mysql_data:/var/lib/mysql -v /home/mysql_conf/my.cnf:/etc/mysql/conf.d/my_custom.cnf -e MYSQL_ROOT_PASSWORD=test.123456 mysql:8.3.0
#这里在初始化的尽量判断要不要lower_case_table_names设置1,设置方法建容器的时候设置,或在建容器之前在my.cnf中设置

http://www.jsqmd.com/news/67576/

相关文章:

  • CommonUI-学习记录
  • 银行反欺诈day1
  • Hikvision 考勤机数据提取(3)
  • 2025年数控折弯机模具选购参考
  • Hikvision 考勤机数据提取(3)
  • 12306爬取基本车次信息(需下载chromedriver)
  • 微信小程序渗透测试
  • 大数据数仓设计:分层架构与维度建模 - Binge
  • 2025年折弯机上下模实力厂家推荐榜
  • Day14-20251208
  • 遇到的前端ts语法问题记录 - wuzx
  • Flask集成MCP的AI Agent
  • 阅读笔记四
  • 从纯数学到应用AI科学的职业转变
  • 深入解析:OpenAI 新推 GPT-5-Codex-Mini:一款针对开发者的轻量级编码助手
  • rustfs
  • threadDay01
  • 20232404 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • Python数据可视化全攻略:Matplotlib/Seaborn从入门到实战
  • 2025.12.7 百度之星决赛 2025
  • 日总结 37
  • 深入设计模式
  • 环境配置
  • 工程模拟分析软件 Abaqus 2024 免费下载安装教程(含中文版设置+ 激活步骤)
  • RustFS是国产的吗?有人用吗?深度解析这款新兴对象存储
  • 软件工程学习日志2025.12.8
  • 视频号下载视频思路 - 教程
  • 2025.12.1周总结
  • 小爱帮你拍-使用教程
  • 中国鱼竿十大名单——2025年十大良心鱼竿精选:鱼竿名单第一名到第十名