docker 安装 mysql 并映射数据库存放路径及配置文件

【Docker那些事】系列文章

docker 安装 与 卸载 centos
Dockerfile 文件结构、docker镜像构建过程详细介绍
Dockerfile文件中CMD指令与ENTRYPOINT指令的区别
构建Docker镜像指南,含实战案例
Docker 制作自定义化的Tomcat镜像
docker 安装 mysql 并映射数据库存放路径及配置文件
docker安装tomcat 映射配置文件、日志文件
docker安装nginx,配置nginx,并成功访问
docker安装redis并将配置文件和数据文件映射到外部
Docker 容器互联 --link 和 自定义网络
docker 完成 redis集群搭建
Docker Compose 简介、安装、初步体验
Docker Compose学习之docker-compose.yml编写规则 及 实战案例
Docker Compose配置springboot微服务项目
Docker Swarm 初步认识 及 集群搭建

docker 安装 mysql 并映射数据库存放路径及配置文件

  • 【Docker那些事】系列文章
  • 拉取镜像
  • 启动mysql容器 查看数据文件存放路径
  • 拷贝容器配置文件
  • 重新启动容器

拉取镜像

# 最新版本
docker pull mysql
# 5.7 版本 本文基于5.7版本
docker pull mysql:5.7

本文内容基于mysql5.7版本

启动mysql容器 查看数据文件存放路径

docker run -d \
-p 3306:3306 \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123  \
mysql:5.7

docker exec -it mysql bash

mysql -uroot -p
# Enter password:

# mysql> show variables like '%datadir%';
show variables like '%datadir%';

show variables like '%datadir%';会输出数据文件的存放路径 /var/lib/mysql/
docker 安装 mysql 并映射数据库存放路径及配置文件_第1张图片

拷贝容器配置文件

docker cp mysql:/etc/mysql /usr/local/mysql/conf

mysql容器的配置文件存在 /etc/mysql 下

重新启动容器

docker stop mysql
docker rm mysql

docker run -d \
-p 3306:3306 \
--name mysql \
-v /usr/local/mysql/conf/mysql:/etc/mysql \
-v /usr/local/mysql/data:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD=123 \
--restart always  \
mysql:5.7

docker 安装 mysql 并映射数据库存放路径及配置文件_第2张图片
映射数据文件后,删除容器后能保留数据库文件,不至于导致数据库丢失。

参考:mysql的数据库存放的路径以及安装路径

你可能感兴趣的:(容器化技术,docker,mysql,linux)