云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

docker部署MySQL

jxf315 2025-01-20 14:04:32 教程文章 22 ℃

docker上部署MySQL,很多大神写了很多了,但是学习之后,发现大部分是有坑的,说的不清晰透彻,总结前辈的经验,在这里记录一下备查。

  1. 解决docker无法拉取镜像的问题。这个就要 看这位大神的解决方案了,经测可行。镜像链接获取地址:http://status.kggzs.cn/
  2. 下载镜像 docker pull mysql,拉取的是MySQL9.1版。正常下载完后,docker images |grep mysql 查看是否已经下载好镜像文件。docker images -a 查看全部镜像。
  3. 命令行安装到容器。这里要配制3个目录,最好还是用一个文本编辑器,把这个命令改好后,一次性考进终端运行 。这里我是在我用户目录下建了个/docker/mysql目录,在分别建了/data、/log 目录,再分别映射到容器里的相对应的目录。这里要强调一下,新建/conf目录,并先创建一个my.cnf 文本文件,参数 -v /home/zhangsan/docker/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf ,映射到容器内/etc/mysql/conf.d/my.cnf ,这个很重要,我看很多前辈都没说清楚,容器内/etc 目录下有个my.cnf文件,是容器自行维护的,每次重启都要重置,这个文件末尾有一句 include指向 /etc/mysql/conf.d 目录,这个目录那个.d貌似就是为docker准备的,需要将宿主目录里的my.cnf 映射进去,在宿主机上的这个文件上配制各种自定义优化参数即可。

    docker run -p 3306:3306 --name mysql -v /home/zhangsan/docker/mysql/log:/var/log/mysql -v /home/zhangsan/docker/mysql/data:/var/lib/mysql -v /home/zhangsan/docker/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=123456 -d mysql
  4. 查看 容器是否正常启动 docker ps
  5. 停止容器 docker stop mysql
  6. 重启容器 docker restart mysql
  7. 启动容器 docker start mysql
  8. 进入容器 docker exec -it mysql bash
最近发表
标签列表