Докер - URL не найден ERR_NAME_NOT_RESOLVED
PS: я 99,99% разработчиков Windows, и мой опыт работы с Linux и Docker с прошлой недели.
Немного д-р, но не хочу ничего упускать.
У меня есть три изображения докера:
- Веб-приложение Angular 6 (отправлено в реестр контейнеров Azure)
- ASP .Net Core Web APi (отправлено в реестр контейнеров Azure)
- MongoDB (последняя версия докера)
Вышеуказанная настройка предназначена для Linux Ubuntu и разработана в среде Windows с Docker для установки Linux.
Вот шаги, за которыми я следовал:
- Создана сеть с
sudo docker network create avt_network
- Затем я добавил сеть к изображению "Angular Web app".
sudo docker run -d --net=avt_network <image_name> --name=angular-app
- Сделал то же самое для ядра ASP .Net (
--name=avt-api
) изображение и изображение Монго (--name avt-mongo
) Назначил их всех в avt_network. Я за отдельный IP-адрес для них. - Потом я побежал
sudo docker container ls
чтобы убедиться, что все три работают - Потом сделал
sudo docker network inspect avt_network
и все три изображения были там с уникальным IP-адресом, назначенным им.
Теперь проблема, с которой я сталкиваюсь
С хост-машины, которая является Linux Ubuntu 18.04, я ввел IP-адрес для angular-app
, который является стандартным 172.18.0.1, и он открыл веб-сайт. Но когда я выполняю вызов API из Angular App, в FireFox он показывает ошибку CORS, а в Google Chrome - ERR_NAME_NOT_RESOLVED. При вызове я использую имя контейнера, а не IP-адрес API, чтобы обеспечить согласованность при перезапуске. PS: у меня включен CORS на моем.Net Core API
Если я вызываю API напрямую, он работает и приносит данные из MongoDB. Строка подключения - это имя образа, а не IP-адрес образа MongoDB.
Вещи уже пробовали
- Итак, я решил пропинговать IP-адреса с хост-машины, и все три дали положительный результат.
- Затем я
sudo docker exec -it <angular_app_id> bash
, Отсюда пинг до API с IP-адресом и именем, и результат был положительным. - Я также попробовал с чистого листа, с созданием новой виртуальной машины и переустановкой всех необходимых вещей; однако конечный результат такой же.
И я не знаю, где я могу пойти не так?
Сейчас я изучаю составление файлов. В то же время любая помощь или направление будет отличным.