Невозможно получить доступ к контейнеру MySQL из другого контейнера - PullRequest
0 голосов
/ 03 мая 2018

Я использую docker compose для запуска mysql и api server. Как только сервер api находится на нем, используйте connect to mysql, но мне всегда отказывали в доступе. Я добавил sql для предоставления разрешения, но он все еще не работает. Пожалуйста, кто-нибудь, помогите мне.

Ошибка

2018-05-03T05:48:45.868146Z 2 [Note] Access denied for user 'mysql'@'172.18.0.3' (using password: YES)

Вот мой докер-композитор

version: "3.6"
services:
  mysql:
    build:
      context: ..
      dockerfile: docker/Dockerfile-mysql
    image: test_mysql:ci-label
    container_name: test-mysql-ci-label
    labels:
      - "CI-TEST=ci-label"
    networks:
      - ci-network
    ports:
      - "3306:3306"

  license:
    build:
      context: ..
      dockerfile: docker/Dockerfile
    image: test_license:ci-label
    container_name: test-license-ci-label
    environment:
      - NODE_ENV=dockertest
      - PORT=9502
    labels:
      - "CI-TEST=ci-label"
    networks:
      - ci-network
    ports:
      - "9502:9502"
    depends_on:
      - mysql
    privileged: true

networks:
  ci-network:
    labels:
      - "CI-TEST=ci-label"
    name: ci-network

Вот мой Dockerfile-mysql

FROM mysql:5.7
LABEL CI-TEST="ci-label"
ENV MYSQL_ALLOW_EMPTY_PASSWORD=yes
    MYSQL_USER=mysql \
    MYSQL_PASSWORD=test
COPY init.sql docker-entrypoint-initdb.d/01.sql

Вот init.sql

-- Create database.
CREATE SCHEMA IF NOT EXISTS `license` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-- Create new user.
GRANT ALL PRIVILEGES ON license.* TO 'mysql'@'%' IDENTIFIED BY 'test';
GRANT ALL PRIVILEGES ON license.* TO 'mysql'@'localhost' IDENTIFIED BY 'test';
FLUSH PRIVILEGES;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...