docker环境安装mysql
拉取mysql镜像
pull mysql:8.0.37
将需要挂载的文件复制到本地
因为使用-v命令进行挂载的时候,并不会复制文件到本地,只是建立的连接、绑定关系。修改本地文件时容器中的文件也会被修改
需要挂载的目录
- 数据目录:/var/lib/mysql
- 配置文件:/etc/my.cnf
- 这里的配置文件需要进入mysql容器中去查看。不同版本的mysql配置文件的位置不同。这在官网中有说明
这里没有挂载日志文件目录是因为可以使用命令
docker logs ...
来查看日志
创建一个mysql容器用于复制
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.37
创建相关目录/文件
mkdir -p /root/docker/cloud/mysql/data
mkdir -p /root/docker/cloud/mysql/init # 这个是用于初始化mysql数据库的,将sql文件放入这个文件夹会自动导入到mysql中
复制文件到本地
docker cp mysql:/var/lib/mysql /root/docker/cloud/mysql/data
docker cp mysql:/etc/my.cnf /root/docker/cloud/mysql/
删除容器
docker rm -f mysql
运行容器并挂载
docker run -d \
--name mysql1 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
-v /root/docker/cloud/mysql/data:/var/lib/mysql \
-v /root/docker/cloud/mysql/my.cnf:/etc/my.cnf \
-v /root/docker/cloud/mysql/init:/docker-entrypoint-initdb.d \
mysql:8.0.37
最后使用`docker inspect 来查看是否挂载成功