-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker healthchecks introduced in v0.107.28 fail if "dns.bind_hosts" contains "0.0.0.0" #5714
Comments
Current workaround is to disable health-checks by adding following config to healthcheck:
disable: true If you're running docker container from the CLI you might use |
THANKS! This was the hotfix I was looking for. Wondering what/were to find this "bind_hosts"? |
It is the part of the General recommendation is to mount this config folder inside the container from local filesystem or as persistent volume, so please check your volumes configuration to find precise file location. Also please don't confuse |
Thanks, I found it and I see what you mean. Writing it down here in case anyone else finds this thread. Documentation to be found here: https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#configuration-file
vs
|
@piv-pav, hello and thanks for the report. We've actually added special handling for special subdomain If it's not too much trouble, could you please check, if the |
Weirdly enough, but I cannot reach DNS on the nslookup healthcheck.adguardhome.test. localhost:53
;; connection timed out; no servers could be reached Although it works well if I'm using container's IP. I'm using bridge network type and honestly speaking I'm a bit confused why those ports are unavailable from the container itself. |
@piv-pav, the output also strangely different from the usual
If you're using some custom port for DNS, use it instead of |
Is this problem also related when using AH with macvlan network? |
@EugeneOne1 I don't think # nslookup -type=a healthcheck.adguardhome.test. 172.17.0.4:53
Server: 172.17.0.4:53
Address: 172.17.0.4:53
Non-authoritative answer:
# echo $?
0 where I have a feeling it might to do something with IPv6 because ports # netstat -nlp | grep 53
tcp 0 0 :::53 :::* LISTEN 7/AdGuardHome
udp 0 0 :::53 :::* 7/AdGuardHome |
Merge in DNS/adguard-home from 5714-handle-zeroes-health to master Updates #5714. Squashed commit of the following: commit 24faab0 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Apr 19 13:10:24 2023 +0300 docker: add curly brackets commit 67365d0 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Tue Apr 18 20:16:12 2023 +0300 docker: imp zeroes check
@piv-pav, hello again. We've tried to improve the situation by handling the unspecified addresses in a special way. It will now be considered failed if both |
@piv-pav, hello again. We've pushed one more fix related to unspecified address. It should fix the issue so we'll close it for now. Feel free to reopen it if the problem persists. |
Just updated to version 107.29 and now portainer is showing status unhealthy! So I guess it still isn't fixed. |
@BobWs, see https://github.com/AdguardTeam/AdGuardHome/wiki/Docker#known-issues. Also, could you please share the exact message of unhealthy status? Just noticed the version. The actual fix is available in the edge channel only currently. |
Prerequisites
I have checked the Wiki and Discussions and found no answer
I have searched other issues and found no duplicates
I want to report a bug and not ask a question
Operating system type
Linux, Other (please mention the version in the description)
CPU architecture
AMD64
Installation
Docker
Setup
On one machine
AdGuard Home version
v0.107.28
Description
What did you do?
Run the container with following configuration piece in
AdGuardHome.yaml
config file:Expected result
Container runs normally
Actual result
Docker reports container as
Unhealthy
because introduced healthcheck script fails with:Additional information
After digging into healthcheck script code, it seems it builds the list of addresses DNS is listening to and then running
nslookup
command which suppose to request address resolution forhealthcheck.adguardhome.test.
against all IP addresses listed indns.bind_hosts
parameter.In order to succeed with healthcheck DNS server must:
healthcheck.adguardhome.test.
record (not guaranteed)bind_hosts
IP address (impossible with0.0.0.0
address)The text was updated successfully, but these errors were encountered: