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

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions