安装部署环境
Ubuntu 18.04.3 LTS
Docker 19.03.2
MySQL latest(8.0.17)
下载镜像
# docker从仓库中拉取最新版的mysql镜像,如果没加标签的话,默认获取最新的版本
Docker pull mysql
挂载数据卷以及配置文件
Docker容器原则上是短暂的,如果容器被删除或损坏,任何数据或配置都将丢失。因为,我们需要将 Docker 内的 MySQL 数据文件以及配置文件转移到宿主机的指定路径。
每个人部署的 MySQL 内,可能文件路径不一致。我们可以先创建个测试的 MySQL 容器,然后再根据查找出的文件具体路径位置,重新创建我们符合我们需求的 MySQL 容器,命令如下:
docker run --name mysqltest \
-p 3307:3306 -e MYSQL_ROOT_PASSWORD=root \
-d mysql
进入Docker容器内
docker exec -it mysqltest bash
确定Docker内 MySQL 文件相关路径
根据官网说明:如果要挂载 MySQL 配置文件的话,我们必须在物理机上存在着该配置文件。
# 查找Docker内,MySQL配置文件my.cnf的位置
mysql --help | grep my.cnf
# 显示如下,意思是路径按优先排序,会是在以下路径里:
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mys