Два способа:
1. Service1
и Service2
должны быть в одной сети !!
docker network create -d overlay --attachable my_net
первый:
...
service1:
ports:
- "8081:8080"
networks:
- net
...
networks:
net:
external: true
name: my_net
второй:
...
service2:
ports:
- "8088:8088"
networks:
- net
...
networks:
net:
external: true
name: my_net
inв этом случае запрос будет http://service1:8080/api/v1/test/
2. Вы перенаправляете порт на хост - "8081:8080"
IP-адрес докера хоста по умолчанию 172.18.0.1 (установите флажокваш ifconfig
)
Для этого случая запрос будет http://172.18.0.1:8081/api/v1/test/
Ответ на вопрос " Можно ли спросить докер-составить создать сеть, если она не существует?":
Да, это возможно.В первом файле составления:
version: "3.3"
...
...
networks:
my_net:
driver: overlay
attachable: true
Если вы работаете docker stack deploy -c file.yml hello
-> будет создана сеть с именем hello_my_net
Если вы работаете docker-compose up -d
-> будет создана сеть с именем directory-name_my_net
(имя каталога, в котором находится файл docker-compose.yml)
Поэтому обратите внимание на имя сети.
Следующие службы подключаются к этой сети.
! Внимание,Версия составного файла должна быть> = "3.3"