Это называется extra-hosts, работает как файл hosts для контейнера. Ниже пример использования:
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- ./:/var/www
extra_hosts:
- "site.local:192.168.88.1"
volumes:
wordpress:
db:
в контейнере wordpress добавлено в hosts : site.local - 192.168.88.1
dmitryg@MacBook-Pro:~/tmp|⇒ docker-compose exec wordpress /bin/bash
root@707dcf9d2f3f:/var/www/html# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.88.1 site.local
172.18.0.2 707dcf9d2f3f
добавите свой внешний сервис в хосты контейнера и он будет к ним обращаться - айпишник только укажете верный, конечно.