MySQL容器的Dockerfile:
FROM mariadb:latest
ENV TZ "Asia/Shanghai"
ENV MYSQL_ROOT_PASSWORD=111111
ENV MYSQL_DATABASE=user
COPY my.cnf /etc/mysql/my.cnf
ADD invoice.sql /docker-entrypoint-initdb.d/
在这个Dockerfile里定义了MYSQL_ROOT_PASSWORD环境变量,使用这个Dockerfile构建出来的MySQL镜像,其root用户的密码就是111111。
一般启动MySQL容器时,我们会将/var/lib/mysql目录通过volumes挂载出来。这个目录是MySQL的数据目录。
当我们把Dockerfile中的MYSQL_ROOT_PASSWORD改成222222后,如果没有删除/var/lib/mysql目录中的数据,再次构建好镜像并启动容器后,会发现使用222222密码无法访问,使用111111密码仍然能访问。
本文解析了如何在Dockerfile中设置MySQL的root用户密码,并讨论了在更新密码后,原有数据目录对新密码的影响。
2231

被折叠的 条评论
为什么被折叠?



