Как переназначить хост для пользователя root экземпляра docker mysql - PullRequest
0 голосов
/ 30 января 2020

У меня есть два docker экземпляра, один для API и один для БД проекта. Я смог запустить оба без проблем, но сегодня я не смог. Экземпляр БД создается без проблем, но API не может связаться с ним из-за следующей ошибки:

django.db.utils.OperationalError: (1130, "Host '172.x.x.x' is not allowed to connect to this MySQL server")

Некоторые поиски привели меня к проверке хоста для пользователя root, что дает мне :

SELECT host from mysql.user where User='root';
+-----------+
| host      |
+-----------+
| localhost |
+-----------+
1 row in set (0.00 sec)

Ниже docker-compose.yml:

version: "3"
services:
  db:
    container_name: db
    image: mysql:5.7
    ports:
      - "3336:3306"
    environment:
      MYSQL_ROOT_PASSWORD: ***
      MYSQL_USER: ***
      MYSQL_PASSWORD: ***
      MYSQL_DATABASE: ***
    restart: always
    command:
      [
        "mysqld",
        "--character-set-server=utf8mb4",
        "--collation-server=utf8mb4_unicode_ci",
      ]
  api:
    container_name: api
    build:
      context: ../../
      dockerfile: ./etc/docker/Dockerfile
    ports:
      - "8000:8000"
    depends_on:
      - db
    restart: always

Итак, у меня есть несколько вопросов:

  1. Любая идея, почему API IP-адрес экземпляра изменился? Я предполагаю, что он изменился, поскольку со вчерашнего дня он мог без проблем подключаться.

  2. Есть ли способ решить эту проблему с помощью docker -compose / Makefile? Я смог ввести sh в экземпляр БД и изменить хост вручную, но это, очевидно, не является устойчивым.

  3. Есть ли способ изменить IP экземпляра API на localhost?

Заранее спасибо.

1 Ответ

0 голосов
/ 30 января 2020

Возможно, что IP вашего IP-контейнера изменился, и поэтому вы не можете подключиться, сначала проверьте это.

Вы можете добавить пользователя, который может подключаться с любого ip к вашим базам данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...