Не удается подключиться к grafana с помощью порта

#mysql #docker #docker-compose #grafana

Вопрос:

Ниже приведен мой файл docker-compose.yml

 version: '3.2'

services:
 mysql-server:
    container_name: mysql
    ports:
        - "13306:3306"
    environment:
        MYSQL_ROOT_PASSWORD: 12345
        MYSQL_DATABASE: wordpress
        MYSQL_USER: wordpress_user
        MYSQL_PASSWORD: secret
    image: mysql/mysql-server
 grafana:
    image: grafana/grafana
    container_name: grafana
    environment:
        DB_HOST: mysql-server:3306
    ports:
        - "3000:3000"
    depends_on:
    - mysql-server
 

Я хотел бы подключиться к grafana и использовать mysql в качестве источника данных.
Однако, когда я подключаюсь к grafana, используя ‘ip-адрес контейнера порт’ 172.19.0.3 (извлекается с помощью ‘docker inspect containerId’): 3306. Он не может подключиться к grafana. Я попытался закрыть свой брандмауэр, но все равно потерпел неудачу. Или мой метод подключения неверен?

Кроме того, когда я устанавливаю MySQL в качестве источника данных в grafana, является ли хост: mysql-server: 3306?

Комментарии:

1. Я думаю, вы должны разделить переменные DB_HOST и DB_PORT. Не могли бы вы попробовать поставить DB_HOST: mysql-server и DB_PORT: 3306 как переменные среды для вашего сервиса grafana? Кроме того, я не уверен на 100%, но вам, вероятно, нужно указать следующие переменные env : DB_NAME , DB_USER и DB_PASSWORD

2. Я думаю, что вы используете неправильные переменные среды. Так и должно быть GF_DATABASE_HOST: mysql-server:3306 . Кроме того, вы должны иметь возможность подключиться к Grafana через localhost:3000 .

Ответ №1:

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