docs: Add Matrix links, Docker changes #782

Merged
Jade merged 4 commits from jade/docker-warning into main 2025-04-22 13:54:08 +00:00
Owner
No description provided.
Owner

Is the docker DNS performance issue documented anywhere? It definitely needs to be prominent because docker DNS is a federation killer, hardly exaggerating

Is the docker DNS performance issue documented anywhere? It definitely needs to be prominent because docker DNS is a federation killer, hardly exaggerating
Author
Owner

I wasn't fully aware there was a DNS performance with Docker, so I don't think it's documented. I haven't been having any major issues with my homeserver, although it does run on Podman - not sure how different the DNS setup is there.

I wasn't fully aware there was a DNS performance with Docker, so I don't think it's documented. I haven't been having any major issues with my homeserver, although it does run on Podman - not sure how different the DNS setup is there.
Owner

Not sure if it's all green in podland, but docker's DNS causing federation performance issues is a well known phenomenon even outside of matrix. IIRC it was recommended somewhere to pass through /etc/resolv.conf as a bind mount to bypass it but I can't remember where that is

Not sure if it's all green in podland, but docker's DNS causing federation performance issues is a well known phenomenon even outside of matrix. IIRC it was recommended somewhere to pass through /etc/resolv.conf as a bind mount to bypass it but I can't remember where that is
Owner

can confirm, recommended quite a number of people deploy an unbound somewhere nearby to solve their docker-dns issues which were preventing federation due to inability to keep up with the dns requests.

can confirm, recommended quite a number of people deploy an unbound somewhere nearby to solve their docker-dns issues which were preventing federation due to inability to keep up with the dns requests.
Owner

Perhaps we should have an entire section for DNS performance because it's something that massively hinders the user experience and a lot of people don't set it up properly

Perhaps we should have an entire section for DNS performance because it's something that massively hinders the user experience and a lot of people don't set it up properly
Author
Owner

According to docker's docs:

Containers use the same DNS servers as the host by default, but you can override this with --dns.

By default, containers inherit the DNS settings as defined in the /etc/resolv.conf configuration file. Containers that attach to the default bridge network receive a copy of this file. Containers that attach to a custom network use Docker's embedded DNS server. The embedded DNS server forwards external DNS lookups to the DNS servers configured on the host.

You can configure DNS resolution on a per-container basis, using flags for the docker run or docker create command used to start the container. The following table describes the available docker run flags related to DNS configuration.

It's possible this only affects people using Docker's embedded resolver by using a non-default network?

Agreeing on the DNS performance section.

According to docker's docs: > Containers use the same DNS servers as the host by default, but you can override this with --dns. > > By default, containers inherit the DNS settings as defined in the /etc/resolv.conf configuration file. Containers that attach to the default bridge network receive a copy of this file. Containers that attach to a custom network use Docker's embedded DNS server. The embedded DNS server forwards external DNS lookups to the DNS servers configured on the host. > > You can configure DNS resolution on a per-container basis, using flags for the docker run or docker create command used to start the container. The following table describes the available docker run flags related to DNS configuration. It's possible this only affects people using Docker's embedded resolver by using a non-default network? Agreeing on the DNS performance section.
Owner

Afaik, docker intercepts the DNS requests, or at least it does in compose, to resolve other container names on the docker network. This is where the performance issue comes from, and why manually binding /etc/resolv.conf bypasses the issue

Afaik, docker intercepts the DNS requests, or at least it does in compose, to resolve other container names on the docker network. This is where the performance issue comes from, and why manually binding /etc/resolv.conf bypasses the issue
Jade changed title from docs: Tone down the docker warning to docs: Add Matrix links, Docker changes 2025-04-21 15:27:14 +00:00
Author
Owner

I've pushed some new changes, including an explanation of the docker issues as far as I understand them.

I've pushed some new changes, including an explanation of the docker issues as far as I understand them.
Jade requested review from Owners 2025-04-21 17:06:41 +00:00
Author
Owner

Note for later: It's likely that the example Compose files actually trigger Docker's DNS issues, and we should fix them or remove them.

Note for later: It's likely that the example Compose files actually trigger Docker's DNS issues, and we should fix them or remove them.
Owner

@Jade wrote in #782 (comment):

Note for later: It's likely that the example Compose files actually trigger Docker's DNS issues, and we should fix them or remove them.

I still think that having a dedicated page/big section to mentioning general DNS performance issues and workarounds would go further than this, but sounds good in the meantime

@Jade wrote in https://forgejo.ellis.link/continuwuation/continuwuity/pulls/782#issuecomment-15402: > Note for later: It's likely that the example Compose files actually trigger Docker's DNS issues, and we should fix them or remove them. I still think that having a dedicated page/big section to mentioning general DNS performance issues and workarounds would go further than this, but sounds good in the meantime
nex requested changes 2025-04-22 00:44:53 +00:00
nex left a comment
Owner

looks good, I just think the matrix.to links shouldn't be urlencoded

looks good, I just think the matrix.to links shouldn't be urlencoded
README.md Outdated
@ -107,3 +107,3 @@
#### Contact
<!-- TODO: contact details -->
Join our [Matrix room](https://matrix.to/#/%23continuwuity:continuwuity.org) and [space](https://matrix.to/#/%23space:continuwuity.org) to chat with us about the project!
Owner

https://matrix.to/#/%23continuwuity:continuwuity.org -> https://matrix.to/#/#continuwuity:continuwuity.org

https://matrix.to/#/%23space:continuwuity.org -> https://matrix.to/#/#space:continuwuity.org

(percent-encoded sigils sometimes freak out the site, for some reason)

`https://matrix.to/#/%23continuwuity:continuwuity.org` -> `https://matrix.to/#/#continuwuity:continuwuity.org` `https://matrix.to/#/%23space:continuwuity.org` -> `https://matrix.to/#/#space:continuwuity.org` (percent-encoded sigils sometimes freak out the site, for some reason)
Jade marked this conversation as resolved
Jade force-pushed jade/docker-warning from d7274a18ab
All checks were successful
Release Docker Image / define-variables (push) Successful in 1s
Release Docker Image / define-variables (pull_request) Successful in 3s
Documentation / Build and Deploy Documentation (pull_request) Successful in 47s
Release Docker Image / build-image (linux/arm64, linux-arm64) (push) Successful in 18m52s
Release Docker Image / build-image (linux/amd64, linux-amd64) (pull_request) Successful in 19m24s
Release Docker Image / build-image (linux/amd64, linux-amd64) (push) Successful in 44m3s
Release Docker Image / merge (push) Successful in 16s
Release Docker Image / build-image (linux/arm64, linux-arm64) (pull_request) Successful in 18m40s
Release Docker Image / merge (pull_request) Successful in 32s
to 0307238bf8
All checks were successful
Release Docker Image / define-variables (pull_request) Successful in 1s
Release Docker Image / build-image (linux/arm64, linux-arm64) (pull_request) Successful in 19m41s
Documentation / Build and Deploy Documentation (pull_request) Successful in 32s
Documentation / Build and Deploy Documentation (push) Successful in 26s
Release Docker Image / build-image (linux/amd64, linux-amd64) (push) Successful in 19m41s
Release Docker Image / define-variables (push) Successful in 13s
Release Docker Image / build-image (linux/amd64, linux-amd64) (pull_request) Successful in 57m2s
Release Docker Image / merge (pull_request) Successful in 27s
Release Docker Image / build-image (linux/arm64, linux-arm64) (push) Successful in 20m22s
Release Docker Image / merge (push) Successful in 26s
2025-04-22 13:29:33 +00:00
Compare
Jade merged commit 0307238bf8 into main 2025-04-22 13:54:08 +00:00
First-time contributor

Just for historical purposes, the DNS/docker information and solutions are currently part of Troubleshooting page on our wiki which is how I first found out about the DNS issues and I think moving the changes into the main READ.me will at least help make clear to new users who may not sniff through all the docs.

Just for historical purposes, the DNS/docker information and solutions are currently part of [Troubleshooting page on our wiki](https://continuwuity.org/troubleshooting) which is how I first found out about the DNS issues and I think moving the changes into the main READ.me will at least help make clear to new users who may not sniff through all the docs.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity!782
No description provided.