引言
如下所示使用docker-compose设置mysql生成容器时的默认密码不生效
nacos-mysql:
container_name: nacos-mysql-java
image: nacos-mysql-java:8.0
build:
context: edgej/nacos-mysql
ports:
- "0.0.0.0:33306:3306"
volumes:
- ./edgej/nacos-mysql/conf:/etc/mysql/conf.d
- ./edgej/nacos-mysql/logs:/logs
- ./edgej/nacos-mysql/data:/var/lib/mysql
command: [
'mysqld',
'--innodb-buffer-pool-size=80M',
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_general_ci',
'--default-time-zone=+8:00',
'--lower-case-table-names=1',
'--bind-address=0.0.0.0'
]
environment:
MYSQL_DATABASE: 'edgej-nacos'
MYSQL_ROOT_PASSWORD: 123456
原因
经过查阅相关资料,因为在调试阶段,删除了容器又重新构建镜像生成容器,但是容器卷的映射是固定的所以保存在容器卷中的密码一直被使用未被更改,所以生成容器前需要删除容器卷,然后再部署。