docker linux host IP хоста (Основной операционной системы), как обращаться к службам "снаружи"

Используем сеть по умолчанию (минимализм)

Cпециальное внутреннее доменное имя host.docker.internal что обращаться к основной системе (хосту) из контейра (гостевой системы) не работает в Linux (как минимум в docker 19)

Явное указание IP

Более сложный способ: можно сконфигурировать подсеть для контейнеров приложения, явно указав диапазон адресов подсети, сделать это можно так:

version: '3.7'
services:
  web:
    build: ./
    ports:
      - 9121:80
      - 9123:81
    volumes:
      - '../:/var/www/html/site'
      - './config/apache/apache-config.conf:/etc/apache2/sites-enabled/000-default.conf'
      - './config/apache/ports.conf:/etc/apache2/ports.conf'
      - './config/php/php.ini:/etc/php/7.4/apache2/php.ini'
      - './config/php/xdebug.ini:/etc/php/7.4/mods-available/xdebug.ini'
    networks:
        frontnet:
            ipv4_address: 172.30.1.2
  db:
    image: postgres:12.2
    volumes:
      - './config/postgresql:/docker-entrypoint-initdb.d'
    environment:
      POSTGRES_PASSWORD: mycool_password
      POSTGRES_USER: mycool_user
      POSTGRES_MULTIPLE_DATABASES: mycool_db,mycool_db_test
    ports:
      - 9122:5432
    networks:
        frontnet:
            ipv4_address: 172.30.1.4
             
networks:
    frontnet:
        ipam:
            driver: default
            config:
            - subnet: 172.30.0.0/16

-- где строка

subnet: 172.30.0.0/16

и обеспечит для сети frontnet адрес шлюза 172.30.0.1, который будет является вашим хостом.

После чего ip 172.30.0.1 можно использовать например, в конфигурации xdebug внутри докера.