zoukankan      html  css  js  c++  java
  • Docker: 创建带数据的MySql container

    如果需要想要在一个装有docker的机器上启动一个MySql的container,并且整个MySql container有我想要的数据:

    1. 先在已有的MySql instance上准备好数据

    2. 备份数据(Linux:copy /var/lib/mysql 或者做成tar包,Windows:copy <mysql_instance>/data 或者做成zip包)

    3. 把备份数据(假设为tar包)上传到装有docker的机器上,解压,假设解压后的路径是/home/test/data/mysql

    4. 启动一个MySql container

    docker run --name my_mysql -e MYSQL_ROOT_PASSWORD=<password> -d -v /home/test/data/mysql:/var/lib/mysql -p 3306:3306 mysql

    这里用 “-v” 参数把实际的data目录链接到MySql container的工作目录,这样新创建的MySql container(即MySql instance)就用/home/test/data/mysql这个目录来管理数据了(包括insert、delete、update等DML操作,也包括create,drop等DDL操作)。

    也可以用“--mount”参数来设置目录的映射。

    缺点是要在多个机器上创建多个container的话,需要把数据文件copy到每个机器上。

    还有一种思路是创建自己的MySql image,把整个数据都包含在这个image里,但是这样image会很大,而且有安全风险,如果别人能访问到这个image,就会有数据泄露的风险。

  • 相关阅读:
    史上最容易听错的歌词
    笑话
    商贸通转入EXCEL中的账查不能自动进行合计
    XP登陆后自动注销!
    在Windows系统上如何安装虚拟网卡
    全球最佳造句奖
    一个电脑白痴和黑客的对话
    光棍与非光棍的N条区别
    『转』组合数快速算法!!!
    中国剩余定理
  • 原文地址:https://www.cnblogs.com/forwill/p/7542216.html
Copyright © 2011-2022 走看看