Skip to content

Communicating between blocky_app on Docker and other containers #1831

@georgemp

Description

@georgemp

I'm trying to run blocky_lists_updater along with blocky (both running in separate docker containers). However, if I set bootstrapDns for my upstreams in blocky config, then it is unable to resolve the blocky_lists_container container. If I don't set bootstrapDns, it has trouble resolving my upstream url's (DoT). I got to not setting bootstrapDns from this issue which suggested setting the container dns on blocky_config.

Relevant bit of my blocky config is

upstreams:
  init:
    strategy: fast
  groups:
    default:
      - tcp-tls:one.one.one.one:853
      - tcp-tls:dns.google:853
      - tcp-tls:dns.opendns.com:853
  strategy: parallel_best
  timeout: 2s
  userAgent: "blocky_app"

connectIPVersion: v4

blocking:
  denylists:
    ads:
      - http://blocky_lists_updater:8080/downloaded/ads+malicious.txt
    my_ads:
      - http://blocky_lists_updater:8080/downloaded/ads+malicious.txt
    nosafesearch:
      - http://blocky_lists_updater:8080/downloaded/nosafesearch.txt
  allowlists:
    my_ads:
      - http://blocky_lists_updater:8080/watch/my_allowed.txt
    ads:
      - http://blocky_lists_updater:8080/watch/all_allowed.txt
  clientGroupsBlock:
    default:
      - ads
      - nosafesearch
    192.168.1.50:
      - my_ads
  blockType: zeroIp

My container config has entry dns: 1.1.1.1. My blocky logs now have the following entries

[2025-08-07 13:41:47] ERROR caching: can't prefetch 'doh.opendns.com' resolution failed: resolver: "upstream 'tcp-tls:one.one.one.one'" error: upstream 'tcp-tls:one.one.one.one': could not resolve IPs for upstream one.one.one.one: lookup one.one.one.one: i/o timeout
resolver: "upstream 'tcp-tls:dns.google'" error: upstream 'tcp-tls:dns.google': could not resolve IPs for upstream dns.google: lookup dns.google: i/o timeout
[2025-08-07 13:42:04] ERROR error on processing request:resolution failed: resolver: "upstream 'tcp-tls:dns.google'" error: upstream 'tcp-tls:dns.google': could not resolve IPs for upstream dns.google: lookup dns.google: i/o timeout
resolver: "upstream 'tcp-tls:one.one.one.one'" error: upstream 'tcp-tls:one.one.one.one': could not resolve IPs for upstream one.one.one.one: lookup one.one.one.one: i/o timeout client_ip=192.168.1.109 question=A (instagram.fmaa3-3.fna.fbcdn.net.) req_id=a96a4245-d0ab-4e1a-bad2-68199b897510
[2025-08-07 13:42:05] ERROR error on processing request:resolution failed: resolver: "upstream 'tcp-tls:dns.opendns.com'" error: upstream 'tcp-tls:dns.opendns.com': could not resolve IPs for upstream dns.opendns.com: lookup dns.opendns.com: i/o timeout
resolver: "upstream 'tcp-tls:one.one.one.one'" error: upstream 'tcp-tls:one.one.one.one': could not resolve IPs for upstream one.one.one.one: lookup one.one.one.one: i/o timeout client_ip=192.168.1.109 question=A (instagram.fmaa3-3.fna.fbcdn.net.) req_id=e45239a8-425d-497e-b912-c5a4a0901a9f

If I do set bootstrapDns entries with the following

bootstrapDns:
  # - tcp+udp:127.0.0.11
  - upstream: tcp-tls:one.one.one.one:853
    ips:
      - 1.1.1.1
  - upstream: tcp-tls:dns.google:853
    ips:
      - 8.8.8.8
      - 8.8.4.4
  - upstream: tcp-tls:dns.quad9.net:853
    ips:
      - 9.9.9.9
      - 149.112.112.112

I end up with the following errors in the logs

[2025-07-23 08:58:50]  WARN list_cache: Populating of group cache failed, cache will be empty until refresh succeeds group=my_ads total_count=0
[2025-07-23 08:58:50] ERROR bootstrap: resolve error: no such host blocky_lists_updater addr=blocky_lists_updater:8080 network=tcp
[2025-07-23 08:58:50]  WARN list_cache: Can't download file: Get "http://blocky_lists_updater:8080/watch/all_allowed.txt": no such host blocky_lists_updater attempt=5/5 link=http://blocky_lists_updater:8080/watch/all_allowed.txt
[2025-07-23 08:58:50] ERROR list_cache: cannot open source: Get "http://blocky_lists_updater:8080/watch/all_allowed.txt": no such host blocky_lists_updater count=0 source=http://blocky_lists_updater:8080/watch/all_allowed.txt
[2025-07-23 08:58:50]  WARN list_cache: Populating of group cache failed, cache will be empty until refresh succeeds group=ads total_count=0

ERROR bootstrap: resolve error: no such host blocky_lists_updater addr=blocky_lists_updater:8080 network=tcp

Looking for some advice on how to set this up so that both my upstream dns and blocky_lists_updater docker container can be resolved. Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    ❔ questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions