docker设置mysql初始密码会失效_解决Docker之mysql容器数据库更改不生效的问题

本文介绍了在Docker环境下遇到的MySQL初始密码设置失效及数据更改不生效的问题。通过分析问题原因,提出了解决方案,包括通过`docker commit`创建新镜像以及使用数据卷实现数据持久化。同时,文章还提供了修改Docker MySQL容器编码格式的方法。
摘要由CSDN通过智能技术生成

用官方的mysql 镜像需要修改一些内容,比如配置文件的修改,DB数据文件的目录等,更改之后如果重新运行容器,改过的文件就无效了,新生成的容器不会有之前改变的内容

第一种是修改官方下载的镜像,修改之后 提交一个新的镜像文件 docker commit -m 等新生成的镜像信息,

第二种MYSQL的DB数据,容器关闭后 如果用 docker restart 重启同一容器,那么数据是正常的,如果重新docker run 容器那么数据就不会显示,因为每个容器都有一个文件地址

这就需要把数据文件挂载出来,供其它容器读取,

在docker中启动mysql容器,在mysql容器中对数据库的更改(如创建数据库,更改数据等),在commit后再次进入容器发现之前的更改全部没有保存

1.后台运行mysql容器,设置容器名称为mysql:

[root@localhost ~]# docker run --name=mysql -p 3306:3306 -d owenchen1992/mysql

f80791a0daf194fdba94f16a9d89ebec8ba8fbd8af28d3ea8b599b9d705f85ba

2.进入容器bash和mysql,创建一个数据库TEST_DB,并验证TEST_DB创建成功:

[root@localhost ~]# docker exec -it mysql bash root@f80791a0daf1:/# mysql -uroot -p

show databases;

create database TEST_DB;

3.退出容器,并commit更改到镜像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值