mysql在docker中的实现

部分图片显示问题,附上有道云笔记的链接:http://note.youdao.com/noteshare?id=e2a253b5fb67fb607ed8be1a7cb08243&sub=0AC8BE346E394481972432FEABBE2861

docker中mysql数据库的正确使用方式

项目背景

项目中,使用docker部署mysql服务,如果将mysql存储的数据保存在docker的容器中,一旦docker关闭,会导致存储的的数据丢失,因此,需要将docker中mysql的数据实时保存在宿主机上,从而当docker关闭,再次启动docker时,也能够正常使用数据,不会造成数据丢失现象。

分析mysql的配置文件/etc/my.cnf

其中,datadir为mysql数据存储的位置,默认/var/lib/mysql/

指定docker与宿主机共享的目录

  • 启动命令
docker run -itd --privileged --name node3 --hostname node3 --net ov_net1 --rm -v /mnt/cdrom:/mnt/cdrom -v /root/:/mnt/geovis -v /var/mysql:/var/mysql  -p 3307:3306  big_computing /usr/sbin/init

指定docker中3306的端口对应宿主机3307的端口

  • 进入docker容器中
docker exec -it node3 /bin/bash
  • 查看数据库信息,添加一条测试数据
  • 停止node3
docker stop node3
  • 再次启动,进入node3,查看数据库的信息,发现数据是最新的。
原文地址:https://www.cnblogs.com/zhangjxblog/p/12168290.html