V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
notgoda
V2EX  ›  问与答

Docker 数据库即删即建 是我想得太美了吗?

  •  1
     
  •   notgoda · 2022-07-09 11:51:50 +08:00 via iPhone · 1256 次点击
    这是一个创建于 850 天前的主题,其中的信息可能已经有所发展或是发生改变。
    V2 大佬,请问 docker 搭建博客,nginx +php +mysql 三容器.各个都做了 volume 映射:其中 MySQL 如下
    image: xxxx:$MYSQL_TAG
    container_name: "${PROJECT_NAME}_mysql"

    volumes:
    - "./drupal/mysql:/var/lib/mysql"
    restart: always

    因为 Docker 是即删即建,我碰的问题是 docker-compose down 删除所有容器后 执行 docker-compose up -d , 为什么 MySQL 数据库容器没有读取./drupal/mysql 目录数据来恢复到删除前状态,还是要重新进 MySQL 容器执行导入数据库,谢谢解惑!
    huyujievip
        1
    huyujievip  
       2022-07-09 12:20:17 +08:00 via iPhone   ❤️ 1
    数据库一般不要放容器里面吧
    nicholasxuu
        2
    nicholasxuu  
       2022-07-09 13:27:53 +08:00
    看看 container 的 log 吧,猜测镜像有问题,没把东西存在默认的地方。或者比如 mac os 里支持有问题,volume mount 没成功。
    我这么配置 volume 没问题的。
    notgoda
        3
    notgoda  
    OP
       2022-07-09 15:06:53 +08:00 via iPhone   ❤️ 1
    @huyujievip 为什么?目录 mount 到 host 跟虚拟机一样
    @nicholasxuu 谢谢!我镜像确认没问题。volume mount 也成功了。请问你 docker-compose down 删除所有容器后 执行 docker-compose up -d , 不需要再重新导入一遍数据库吗?
    另外 如果迁移到別的 vps, 请问 只需要把这些所有的 mount 目录迁移到新 vps,也不需要旧 vps 备份数据库然后新的 vps 导入数据库?


    @nicholasxuu
    licoycn
        4
    licoycn  
       2022-07-09 15:38:28 +08:00
    按理说不应该会出现这样的情况,只要 mysql 的数据存储路径是指向容器内的`/var/lib/mysql`,容器挂载了`./drupal/mysql:/var/lib/mysql`,就会自动加载数据。建议你从`docker logs`和 my.cnf 的配置查看一下有没有什么问题。
    Yourshell
        5
    Yourshell  
       2022-07-09 16:13:25 +08:00
    bind mounts 后挂载到新容器好像会有权限问题吧,用 named volume 试试
    notgoda
        6
    notgoda  
    OP
       2022-07-09 18:48:27 +08:00 via iPhone   ❤️ 1
    @licoycn 谢谢大佬。那如果迁移到別的 vps, 请问 只需要把这些所有的 mount 目录备份 迁移到新 vps, 是否需要在旧 vps 备份数据库然后新的 vps 导入数据库?


    @licoycn
    licoycn
        7
    licoycn  
       2022-07-09 19:06:13 +08:00
    @notgoda 数据完全迁移过去以及相关配置文件,没多大问题,反正是 docker 不用考虑宿主机环境问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3335 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:00 · PVG 19:00 · LAX 03:00 · JFK 06:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.