flaktack/systemd-resolved-docker

Project ID: 32960

Description

Provides systemd-resolved and docker DNS integration.

A DNS server is configured to listen on each docker interface's IP address. This is used to:

  1. allows containers to be referenced by hostname by adding the created DNS servers to the docker interface using the systemd-resolved D-Bus API.
  2. expose the systemd-resolved DNS service (127.0.0.53) to docker containers by proxying DNS requests, which doesn't work by default due to the differing network namespaces.

Installation Instructions

  1. Enabled the COPR repository

    dnf copr enable flaktack/systemd-resolved-docker
  2. Install the package

    dnf install systemd-resolved-docker
  3. Start and optionally enable the service

    systemctl start systemd-resolved-docker systemctl enable systemd-resolved-docker
  4. Docker should be updated to use the DNS server provided by systemd-docker-resolved. This may be done globally by editing the docker daemon's configuration (daemon.json) or per-container using the --dns flag.

    "dns": [ "172.17.0.1" // docker0 interface's IP address ]
  5. NetworkManager may reset the docker interface's configuration for systemd-resolved. If that happens than the interface needs to be unmanaged. This may be done by creating a /etc/NetworkManager/conf.d/99-docker.conf:

    [main] plugins=keyfile [keyfile] unmanaged-devices=interface-name:docker0

See Configuration for detailed instructions.

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Fedora 39 x86_64 (10)* Fedora 39 (0 downloads)
Fedora 40 x86_64 (7)* Fedora 40 (37 downloads)
Fedora 41 x86_64 (0)* Fedora 41 (17 downloads)
Fedora rawhide x86_64 (27)* Fedora rawhide (131 downloads)

* Total number of downloaded packages.