#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 ).