Может ли веб-сервис читать apiservice через имя_контейнера на docker? Например, http://container_name: порт - PullRequest
1 голос
/ 13 июля 2020

Я новичок в docker, и я составил веб-службу и другие службы, используемые в сети, в файле docker -compose. Интересно, можно ли получить доступ к службам (например, службе api) для веб-службы через container_name. например http://container_name: 8080. Имя_контейнера указано в файле docker -compose, и веб-служба в контейнерах docker может читать другие службы через порт http://localhost:. Я хочу заменить localhost на имя_контейнера, могу ли docker выполнить это сопоставление с помощью некоторой конфигурации? Я пробовал depends_on и ссылки, и ни один из них не работал.

Часть моего docker -compose.yml :

version: "3.7"
services:
 mywebservice:
   container_name: mywebservice
   ports:
    - "8080:80"
   depends_on:
    - myapiservice
 myapiservice:
   container_name:myapiservice
   ports:
     - "8081:80"

1 Ответ

0 голосов
/ 13 июля 2020

Вы можете разрешить имя вашего контейнера в ip контейнера через файл hosts.

192.168.10.10   mywebservice

Вы можете иметь этот файл в исходном коде приложения и получить docker, чтобы скопировать его в /etc

...