如果需要想要在一个装有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 : 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,就会有数据泄露的风险。

Docker: 创建带数据的MySql container的更多相关文章

  1. Docker创建运行多个mysql容器

    1.使用mysql/mysql-server:latest镜像快速启动一个Mysql实例 docker run --name ilink_user_01 -e MYSQL_ROOT_PASSWORD= ...

  2. Docker创建Mysql容器并通过命令行连接到容器

    拉取网易蜂巢的mysql-server:5.6 docker pull hub.c.163.com/nce2/mysql:5.6 创建mysql5.6容器 1master+3个slave docker ...

  3. 使用Docker创建数据容器

    使用Docker创建数据容器 翻译自: Data-only container madness 1.什么是数据容器? 数据容器就是本身只创建一个volume供其他容器共享,创建完后即退出,不执行任何任 ...

  4. docker 创建mysql镜像,并成功进行远程连接

    1.安装 1.1 拉取镜像 docker pull mysql 拉取成功可以验证一下 docker images 1.2 创建并启动一个mysql容器 docker run --name ly-mys ...

  5. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  6. python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库

    前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用 ...

  7. docker 创建mysql和redis

    1      镜像加速 创建docker 目录 sudo mkdir -p /etc/docker 镜像加速: sudo tee /etc/docker/daemon.json <<-'E ...

  8. MacOS使用Docker创建MySQL主主数据库

    主从同步配置可以参考上一篇MacOS使用Docker创建MySQL主从数据库 一.创建MySQL数据库容器配置文件对应目录 我们在当前用户下创建一组目录,用来存放MySQL容器配置文件,(Linux下 ...

  9. Docker创建MySQL集装箱

    原文链接:Docker创建MySQL集装箱 这样做的目的是创建一个MySQL的image,出来的容器里自己主动启动MySQL服务接受外部连接 步骤: 1. 首先创建一个文件夹并在文件夹下创建一个Doc ...

随机推荐

  1. key diff 在input上的踩坑

    1.在react-native 遇到一个坑,希望的效果如下,同一个按钮,不同的状态下显示不同的input. 2.然后,在做的时候遇到了这样一个问题.输入我的姓名,点击下一步 3.问题出来了,输入框已经 ...

  2. sql_demo

    SELECT M.INSTNCODE, M.METHODCODE, M.CCYPAIRCODE, M.DIR, M.PRD, M.EXCHANGERATE, M.NEARRSKAMOUNT, M.TR ...

  3. 线上CPU100%排查

    生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题? 这个问题分为两版回答!高调版对不起,我是做研发的,这个问题在生产上是不可能遇见的!因为研发是不可能直接操作生 ...

  4. expected_conditions模块提供了判断页面元素的16种方法

    1.title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值2.title_contains : 判断当前页面的title是否包含预期字符串,返回布尔值3.presenc ...

  5. mybaties插件生成代码

    指定插件运行什么xml,关于如何用idea创建一个maven项目,可以看我以前写的博客 <?xml version="1.0" encoding="UTF-8&qu ...

  6. 宝塔面板配置阿里云SSL证书流程

    阿里云SSL证书申请过程就不在这里说了 1 先下载阿里云成功申请的SSL证书 解压后 有3个文件 2  找到宝塔面板的 站点设置  找到SSL设置 3 找到其他证书 用文本打开.key文件  复制里面 ...

  7. c#控件 menuStrip(转)

    一.概述 菜单通过存放按照一般主题分组的命令将功能公开给用户. MenuStrip 控件是此版本的 Visual Studio 和 .NET Framework 中的新功能.使用该控件,可以轻松创建  ...

  8. ios 信任charles https 证书

    https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/ https://support.apple.com ...

  9. 记一次laravel远程关联查询

    如图,一个服务(service)对应一个用户(user),一个用户对应多个标签(tag),同时一个tag也可以通过中间表(pivot)对应对个用户. 现在业务需求如下:查service,这些servi ...

  10. jenkins上gradle打包

    https://blog.csdn.net/charon_chui/article/details/80510701