在我的 docker-compose.yml
version: '3'
services:
db:
image: mariadb:latest
volumes:
- ./dc_test_db:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: secret
Run Code Online (Sandbox Code Playgroud)
当我通过以下方式连接时:
sudo docker exec -it docker_db_1 mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
我必须让密码为空才能登录。怎么了?
小智 5
我在 mariadb 的 10.4 版中遇到了这个问题,通过更改为 10.3 版已修复。但是这个问题可能还有另一个原因。
在 Docker 架构中,需要注意的是,镜像在第一次构建后是不可变的。即通过改变docker compose文件中定义的局部变量并重新运行服务或重新启动服务,构建的镜像的初始设置不会发生变化。要应用这些更改,必须再次执行构建映像和容器以及运行服务的步骤。可以按如下方式完成。
1.docker-compose stop(首先我们停止服务)
2.Docker-compose rm(然后我们清理所有相关的容器)
3.Docker-compose up --build -d(最后使用--build选项运行服务,使用新定义的设置重建图像。)
请注意,执行这些步骤将清除存储在容器内的所有数据。
| 归档时间: |
|
| 查看次数: |
5669 次 |
| 最近记录: |