Получение связанных с Docker контейнеров localhost, указывающих на хост localhost

Итак, в моей хост-среде у меня есть служба Tomcat, работающая на порту 10000, чтобы я мог получить доступ к внутренним службам офиса.

У меня есть запись хостов Windows:

localhost developer.mycompany.com

Так что я могу получить доступ к конечной точке developer.mycompany.com:10000/some/url и в случае успеха вернуть ответ JSON.

У меня также есть композитный файл Docker, который запускает контейнеры nginx и php-fpm и связывает их для запуска среды разработки PHP на основе Linux.

Я пытаюсь добиться того, чтобы докер-контейнер (ы) знал о developer.mycomoany.com запись хоста. Поэтому, когда мой код PHP на моих контейнерах linke отправляет запрос POST http://developer.mycompany.com:10000/some/urlон знает о входе в хост и может достичь этой конечной точки.

Я попробовал конфиг net=host но это не работает со связанными контейнерами.

Сообщение об ошибке приложения PHP:

{«result»: {«success»: false, «message»: «Ошибка создания ресурса: [message] fopen (): сбой php_network_getaddresses: getaddrinfo: имя или служба не известны \ n [файл] / srv / http / vendor /» guzzlehttp / guzzle / src / Handler / StreamHandler.php \ n [строка] 282 \ n [сообщение] fopen (http://developer.mycompany.com:10000/app/register): не удалось открыть поток: php_network_getaddresses: getaddrinfo не удалось : Имя или служба неизвестны \ n [файл] /srv/http/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php\n[line]] 282 «}}

Как включить приложение PHP в связанных контейнерах для связи с хостом developer.mycompany.com (localhost) запись?

Вот мой docker-compose:

app:
image: linxlad/docker-php-fpm
tty: true
ports:
- "9000:9000"volumes:
- ./logs/php-fpm:/var/log/php-fpm
- ~/Development/Apps/php-hello-world:/srv/http
web:
image: linxlad/docker-nginx
ports:
- "8080:80"volumes:
- ./conf/nginx:/etc/nginx/conf.d
- ./logs/nginx:/var/log/nginx
- ~/Development/Apps/php-hello-world:/srv/http
links:
- app

Редактирование:

Это мой вывод ifconfig с докера.

введите описание изображения здесь

Спасибо

1

Решение

Я нашел IP-адрес моей докер-машины и использовал его в моей конфигурации прокси-сервера nginx, например, такой, который затем перенаправил его в конфигурацию расположения nginx в моем контейнере докера.

Хост nginx:

location /apps/myapp/appversion {
proxy_pass   http://192.168.99.100:8080;
}

Конфигурация контейнера Docker Nginx:

location /apps/myapp/appversion {
try_files $uri $uri/ /index.php?args;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php last;
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]