я не могу подключиться локально через localhost/127.0.0.1? Только внутри контейнеров одной сети через названия хоста = названию контейнера(mysql)?
Мне хотелось бы подключиться к mysql извне контейнеров.
Привет! Выстави порт наружу или подключи контенер mysql к сети твоего хоста
services: mysql: image: mysql:5.7.25 container_name: app_mysql ports: - ${MYSQL_PORT}:3306 expose: - "3306" restart: unless-stopped environment: MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_PASSWORD: ${MYSQL_PASSWORD} volumes: - ./docker/mysql/my.cnf:/etc/mysql/my.cnf networks: - app Уже. (ports, expose) Но при подключении с хост-машины к бд: dial tcp: lookup mysql on 127.0.0.53:53: server misbehaving В .env: MYSQL_PORT = 3306
А какой именно командой подключаешься?
Удалось законнектиться через 0.0.0.0:3306. Коннекчусь через голанг
потому что ваш DNS, который на 127.0.0.53, не знает хоста mysql
Я пытаюсь коннектиться через 127.0.0.1:3306 с хост-машины Не через mysql
Но ошибка у Вас про другое dial tcp: lookup mysql on 127.0.0.53:53: server misbehaving И тут явно написано, что mysql не резолвится
Согласен, Golang пишет - что MySQL не резолвится по ip 127.0.0.53:53. Но параметры подключения при этом: host=127.0.0.1 port=3306 Здесь "mysql" это не имя хоста, а название субд.
Не "MySQL не резолвится по ip 127.0.0.53:53", а DNS-сервер по адресу 127.0.0.53 не знает о хосте mysql Что-то у Вас там на хосте накручено с сетью. Проверяйте внимательно код приложения, с помощью которого подключаетесь.
Хм, хорошо, спасибо. Я неправильно понимаю ошибку, значит
Точнее даже пишет про "неправильное поведение сервера" DNS
Обсуждают сегодня