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密码仍然能访问。