@topuserman

Docker: контейнер с mysql, неужели нужно постоянно руками выставлять хост пользователю?

Содержимое docker-compose (для mysql):
mysql:
    image: mysql:8.0.4
    container_name: mysql
    restart: on-failure
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}


После запуска контейнера, создается пользователь MYSQL_USER, у которого выставляется хост=localhost.

Из-за этого, из другого контейнера, этой же сети, например из php нельзя достучаться до mysql, т.к. не хватает прав. и приходится вручную ставить хост
UPDATE user SET host='%' where user='my_user';

Неужели все сталкиваются с этой проблемой?
если да - то как решают ? а если нет, то почему у меня возникает такая проблема ?
  • Вопрос задан
  • 280 просмотров
Пригласить эксперта
Ответы на вопрос 3
glaphire
@glaphire Куратор тега PHP
PHP developer
Я помню что у меня такой проблемы не возникало, Вы точно настраивали внутреннюю сеть?) Там нужно создать сеть internal и указать ее в контейнерах
мой пример
Ответ написан
karabanov
@karabanov Куратор тега Docker
Системный администратор
Официальный README - читай пункт Initializing a fresh instance.
Ответ написан
Комментировать

если да - то как решают ?

Создают свой Dockerfile, в котором делают все нужные манипуляций с конфигом.

PS: и не деплоят бд в контейнеры
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы