Docker. MySQL obrazek. Nie można zmienić pliku my.cnf

Mam takie udane
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:


I chcę edytować
sql_mode

.


./docker/my.cnf

Zawiera:


[mysqld]
sql_mode=""


Ale kiedy łączę się z bazą danych z moją lokalną maszyną i uruchom
SELECT @@sql_mode;

, Dostaję:


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


Co ja robię źle?
Zaproszony:

Sławomir

Potwierdzenie od:

Możesz dodać go do usługi bazy danych:


command: --sql_mode=""


Więc:


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=""

Grzegorz

Potwierdzenie od:

Spróbuj użyć tylko jednej dyrektywy "volumes". Może używa tylko ostatniego.

Witold

Potwierdzenie od:

Poza tym się zmieniłem


- ./docker/my.cnf:/etc/my.cnf


do


- ./docker/my.cnf:/etc/alternatives/my.cnf


Nie jest to związane z problemem, ale wydaje się, że jest to rozpatrywane "better practice".

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się