.Net core 3.1 webapi dockerized, ошибка при подключении к базе данных MySQL (не dockerized)

#mysql #.net #docker

#mysql #.net #docker

Вопрос:

У меня есть локальный проект, то есть webapi (.net core 3.1), который подключается к MySQL (локальному серверу), хорошо. Чего я хочу добиться, так это создать образ моего webapi (чтобы затем перейти к производству), я могу сделать изображение нормально. Но когда я запускаю изображение и перемещаюсь через браузер, я получаю следующую ошибку:

Майкрософт.EntityFrameworkCore.Database.Соединение [2004] Произошла ошибка при подключении к базе данных ‘nameOfTable’ на сервере ‘localhost’

Я не настраивал сервер mysql, он работает как всегда, на локальном. Я не менял пользователя или пароль… поэтому я не понимаю, почему я получаю эту ошибку.

Заранее спасибо за вашу помощь!

Ответ №1:

Когда вы запускаете контейнер с вашим образом Web API, контейнер имеет свою собственную сеть, а также IP-адрес. Если ваш экземпляр MySQL работает на вашем локальном компьютере, а не на docker-engine, вам необходимо каким-то образом подключить ваш локальный к вашему контейнеру docker, что не рекомендуется. Вместо этого вы можете запустить контейнер MySQL, который использует ваши локальные данные MySQL (вы можете подключить локальную папку к контейнеру с помощью -v/ volumes ).