MyLife - Docker安装MySQL

Docker安装MySQL


个人觉得像数据库之类的基础设施在线上环境直接物理机安装使用可能会好些。但是在开发测试环境用docker容器还是比较方便的。这里学习下docker安装mysql使用。

1. MySQL 镜像库地址
MySQL 镜像库地址:https://hub.docker.com/_/mysql/tags
这里是官方镜像库,可以在这挑选需要的版本的mysql镜像。

2. 拉取 MySQL 镜像
拉取最新版本的镜像

 docker pull mysql:latest

MyLife - Docker安装MySQL_第1张图片
3. 运行容器
运行为容器

 docker run -d --name mylife.mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mysql

参数说明:

  • -d 后台运行容器
  • –name 为容器指定一个名称
  • -p 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -e 设置环境变量(MYSQL_ROOT_PASSWORD=Abc123456.:设置 MySQL 服务 root 用户的密码)
    最后的mysql为使用的镜像
    MyLife - Docker安装MySQL_第2张图片
    因为官方这MySQL镜像数据默认放在 /var/lib/mysql 目录下,且这目录是挂载在宿主机上的,这会导致我们用这容器重新生成的镜像丢失数据。所以这里要改下MySQL配置文件,把数据放到别的目录下。
  • 进入容器内执行命令
 docker exec -it mylife.mysql bash

MyLife - Docker安装MySQL_第3张图片

  • 修改配置文件
    修改配置文件my.cnf,把数据目录改为 /data/mysql
    修改前配置文件内容:
    MyLife - Docker安装MySQL_第4张图片
    创建数据目录并修改配置my.cnf
 mkdir -p data/mysql
 sed -i "s#datadir.*/var/lib/mysql#datadir=/data/mysql#g" /etc/mysql/my.cnf

MyLife - Docker安装MySQL_第5张图片
修改后配置文件内容:
MyLife - Docker安装MySQL_第6张图片

  • 重启容器
 docker restart mylife.mysql

MyLife - Docker安装MySQL_第7张图片

4. 连接数据库
容器运行成功后就可以连接该数据库了,这里尝试用Navicat连接。
MyLife - Docker安装MySQL_第8张图片
MyLife - Docker安装MySQL_第9张图片
5. 创建库
在容器上的MySQL创建需要的库和表。
MyLife - Docker安装MySQL_第10张图片
6. 创建含库和表的镜像
用创建好库和表的容器创建镜像

 docker commit -a "tdb" -m "mylife database v1" mylife.mysql  mylife.mysql:v1

参数说明:

  • -a 提交的镜像作者
  • -m 提交时的说明文字
  • mylife.mysql 容器名称
  • mylife.mysql:v1镜像名及tag
    MyLife - Docker安装MySQL_第11张图片

7. 开发环境数据库容器
用刚创建的数据库镜像运行一个开发环境的数据库容器

 docker run -d --name mylife.dev.mysql -p 30001:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mylife.mysql:v1

MyLife - Docker安装MySQL_第12张图片

连接开发环境数据库,发现带有库和表
MyLife - Docker安装MySQL_第13张图片
8. demo环境数据库容器
demo环境在云上的linux上,可以把镜像上传到hub上,再在linux上下载该镜像,但是我这死活上传失败,只好用导出再导入的方法。

  • 导出镜像
    把镜像[mylife.mysql:v1]导出
 docker save -o F:\\study\\docker\\images\\mylife.mysql.v1.tar mylife.mysql:v1

MyLife - Docker安装MySQL_第14张图片

  • 上传到Linux,再载入该镜像
 docker load -q -i /usr/docker/images/mylife.mysql.v1.tar

MyLife - Docker安装MySQL_第15张图片

  • 运行容器
 docker run -d --name mylife.demo.mysql -p 30101:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mylife.mysql:v1

MyLife - Docker安装MySQL_第16张图片
连接开发环境数据库,发现带有库和表
MyLife - Docker安装MySQL_第17张图片

你可能感兴趣的:(tdb.ddd,学习,学习-我的生活,docker,mysql)