Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 8925|Відповідь: 0

Docker-контейнер для доступу до зовнішніх хост-сервісів

[Копіювати посилання]
Опубліковано 19.11.2019 10:10:01 | | | |
Мережа за замовчуванням docker-контейнера — це міст (у тій самій локальній мережі, що й хост, але з окремою локальною IP), коли програма працює у продакшн-середовищі, потрібно лише налаштувати відповідну сервісну адресу для підключення до бази даних, redis тощо.

У середовищі розробки, якщо сервіс працює в Docker, а база даних — локально, налаштувати 127.0.0.1 непросто.

Це можна вирішити двома способами.

Рішення 1:

Розглядайте хост-машину та контейнер як дві окремі машини та налаштовуйте локальну або публічну IP-адресу хоста при налаштуванні адреси.

Рішення 2:

Запишіть адресу хоста безпосередньо як: host.docker.internal, однак.Другий метод вимагає версії Docker більшої за 18.03 і має бути доступний на Windows та Mac

Щоб перевірити, чи ці два методи можуть отримати доступ до хоста, можна безпосередньо запустити образ за допомогою docker, щоб пінгувати командний рядок:

Встановіть інструмент пінгу в контейнер, створений на Docker.
https://www.itsvse.com/thread-8966-1-1.html
(Джерело: Architect_Programmer)


Як видно на зображенні вище, доступ до контейнерівhost.docker.internalВи можете отримати доступ до сервісу хоста, перевіривши файл /etc/hosts, ви побачите, що немає перенаправлення доменного імені, і ви не знаєте конкретного принципу docker.

І хост, і контейнер можуть отримати доступ до сервісів хоста через host.docker.internal, але адреса, яку повертає команда ping, відрізняється, а саме:









Попередній:Приклади пояснюють, що таке проникнення кешу Redis, лавина кешу та розбиття кешу
Наступний:Autofac «Виявлено циклічну залежність компонентів» помилку вирішено
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com