TransWikia.com

Запуск команды sql внутри запущенного контейнера docker

Stack Overflow на русском Asked by Denys Duv on January 8, 2021

при запуске проекта каждый раз приходится заходить в контейнер mysql и делать настройки:

docker exec -it mysql_1 bash
mysql -u root -p12345
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Как вызвать эти изменения при запуске или через конфиг сборки образа?

Сборка в docker-compose файле

mysql:
  image: mysql:5.7
  ports:
    - "14306:3306"
  environment:
    XDEBUG_CONFIG: remote_host=172.17.0.1
    DOCKER_HOST: tcp://localhost:4243
    MYSQL_DATABASE: test_db
    MYSQL_USER: root
    MYSQL_PASSWORD: 12345
    MYSQL_ROOT_PASSWORD: 12345
  volumes:
    - ./data/mysql:/var/lib/mysql
    - ./data/back:/var/back
  networks:
    - internal

One Answer

Добавьте к сервису mysql параметр с командой внутри. Пример:

mysql:
  ...
  command: sh -c 'mysql -u root -p12345 -Q "SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))"'
  ...

Answered by DmitryD on January 8, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP