我有这样一个docker-compose.yml
:
database:
container_name: test_db
image: mysql:5.7
volumes:
- ./docker/my.cnf:/etc/my.cnf
environment:
- "MYSQL_ROOT_PASSWORD=root"
- "MYSQL_DATABASE=test_db"
ports:
- "3306:3306"
volumes:
- test_db_data:/var/lib/mysql
volumes:
test_db_data:
我想编辑sql_mode
.
./docker/my.cnf
包含:
[mysqld]
sql_mode=""
但是当我从本地机器连接到数据库并运行SELECT @@sql_mode;
时,我收到:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
我做错了什么?
您可以将以下内容添加到数据库服务中:
command: --sql_mode=""
所以它:
database:
container_name: test_db
image: mysql:5.7
volumes:
- ./docker/my.cnf:/etc/my.cnf
environment:
- "MYSQL_ROOT_PASSWORD=root"
- "MYSQL_DATABASE=test_db"
ports:
- "3306:3306"
volumes:
- test_db_data:/var/lib/mysql
command: --sql_mode=""
尝试只使用一个"volumes"指令。也许它只使用最后一个。
我已经改变了
- ./docker/my.cnf:/etc/my.cnf
自
- ./docker/my.cnf:/etc/alternatives/my.cnf
作为附带奖金看起来它被认为是一种"更好的做法"。