вот тут почитайте как работает сеть в compose
https://docs.docker.com/compose/networking/
для вашего случая наверное стоит обратить внимание на два предложения
By default Compose sets up a single network for your app. Each container for a service joins the default network and is both reachable by other containers on that network, and discoverable by them at a hostname identical to the container name.
Instead of just using the default app network, you can specify your own networks with the top-level networks key. This lets you create more complex topologies and specify custom network drivers and options. You can also use it to connect services to externally-created networks which aren’t managed by Compose
короче, если Вы НЕ указываете networks в docker-compose, то compose использует default bridge и сам увязывает контейнеры по имени между собой.
Если указываете кастомный network (openweb-network в вашем случае) то с именами придется возиться самому
и эта ...
Адрес хоста в локальной сети - 192.168.1.104. До сего дня все контейнеры свободно "общались" между собой, используя этот IP
нет это не так работает. У контейнеров своя сеть openweb-network. Адрес можно посмотреть командой
docker network inspect openweb-network