Вам необходимо добавить обе службы в общую сеть.
Пожалуйста, перечитайте этот документ: Docker Networks
В каждой из ваших услуг:
networks:
- sql-net
В конце составного файла:
networks:
sql-net:
driver: bridge
Тогда вы сможете подключиться к базе данных через имя контейнера, в вашем случае my-special-db
РЕДАКТИРОВАТЬ1 - Сетевые драйверы под windows
Ошибка, о которой сообщает OP, указывает на то, что она работает под управлением Windows 10. Здесь есть открытая ошибка здесь
Есть сообщения, которые используютtransparent
драйвер может работать:
networks:
sql-net:
driver: transparent
EDIT 2 - опция ссылок
Вы также можете попробовать использовать устаревшую функцию Link .Добавьте это в web
контейнер:
web:
links:
- my-special-db