如果在 Docker 部署 MariaDB 时将 /var/lib/mysql 目录挂载出来,那么该目录中的数据将存储在主机上而不是容器内部。这意味着您可以在容器重启后保留数据库数据。
然而,在使用环境变量设置密码时,需要注意以下几点:
如果您在容器内运行
docker exec -it container_name bash命令进入容器并访问 MariaDB,则应该使用环境变量设置的密码进行身份验证。如果您通过网络连接到 MariaDB 容器,则可能需要使用其他方法设置密码。例如,在 Dockerfile 中预设初始密码或在启动容器时手动更改默认密码。
在 Docker Compose 中使用
MYSQL_ROOT_PASSWORD环境变量设置密码时,请确保正确指定了服务名称和端口号。例如:
services:
db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- "3306:3306"
上述示例中,db 是服务名称,端口映射为 3306。因此,在连接到该服务时,应使用 mysql -h localhost -P 3306 -u root -pexample 命令,并提供正确的密码(即 "example")。
希望这些提示能够帮助您解决问题。




