Windows环境用docker安装mysql

吐槽

搞大半天才搞定持久化的问题,如果随着docker重启,数据库内的数据就没了,那等于白搭。
作为docker和mysql小白,真的很难找到资料搭建起来

拉镜像

docker pull mysql

启动一个干净的mysql容器

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d --rm mysql

进入容器

按照下面命令执行

docker exec -it mysql bash
cd /etc/mysql/conf.d
echo "[mysqld]" > my-config.cnf
echo "innodb_use_native_aio=0" >> my-config.cnf

/etc/mysql/conf.d路径下,所有的.cnf都会加载,名称随便起就行了。
在Windows下,无法通过挂载/etc/mysql/conf.d在外部去添加my-config.cnf。
所以只能重新封装镜像。方式有直接在里面加cnf文件,这种方式针对Windows是很合理的;或者start脚本中做点手脚,用cp命令,挂载不受限制的路径,然后cp到/etc/mysql/conf.d中去,这种就比较费劲了。

在Linux下,则可以挂载/etc/mysql/conf.d,然后通过chmod修改权限,并不需要重新生成镜像。

封装成自己的镜像

docker commit mysql mymysql:1.0

编写 docker-compose.yml 文件

volumes是挂载

version: '2' 
networks:
  basic:
services:   mysql:
    container_name: mymysql
    image: mymysql:1.0
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - ./MySQL:/var/lib/mysql
    networks:
      - basic

编写启动脚本start.sh

docker-compose -f docker-compose.yml up -d mysql

开开心心启动吧

sh start.sh

查看docker ip地址

一般是 192.168.99.100

docker-machine ip

客户端连接

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值