docker - Docker 没有设置 MariaDB 密码
问题描述
在我的 docker-compose.yml
version: '3'
services:
db:
image: mariadb:latest
volumes:
- ./dc_test_db:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: secret
当我通过以下方式连接时:
sudo docker exec -it docker_db_1 mysql -u root -p
我必须让密码为空才能登录。怎么了?
解决方案
我在 mariadb 的 10.4 版中遇到了这个问题,通过更改为 10.3 版来解决这个问题。但是这个问题可能还有另一个原因。
在 Docker 架构中,需要注意的是,镜像在第一次构建后是不可变的。即通过改变docker compose文件中定义的局部变量,重新运行服务或者重新uping服务,构建镜像的初始设置不会有任何变化。要应用这些更改,必须再次执行构建映像和容器以及运行服务的步骤。可以按如下方式完成。
1.docker-compose stop(首先我们停止服务)
2.Docker-compose rm(然后我们清理所有相关的容器)
3.Docker-compose up --build -d (最后使用 --build 选项运行服务以使用新定义的设置重建图像。)
请注意,执行这些步骤将清除存储在容器内的所有数据。
推荐阅读
- php - Laravel如何在where条件下获取所有值
- android - kotlin 中的泛型、伴生对象和继承
- python - 熊猫将值分配给数据框,以另一个具有相同维度问题/问题的值为条件
- email - SSRS 报告按用户拆分
- reactjs - React 组件在滚动时创建新组件,导致它无限调用服务器
- python - 如何用 Sympy 证明给定的笛卡尔方程可以写成给定的极坐标方程
- r - 如何解决R中要替换的错误数量不是替换长度的倍数的问题?
- python - Python函数:cmd子进程
- html - 用 HTML txt 文件更改 C++ 显示文本?
- python - 我得到了一个 AttributeError: 'Particle' object has no attribute 'MomentumSum' ,如果有人能帮忙那就太好了,谢谢