Для создания контейнера с CoreDNS, следуйте этим шагам:

1. Создание папки для контейнера и переход в неё
mkdir -p ./data/coredns && cd $_
2. Создание файла docker-compose.yml
version: '3.1'
services:
  coredns:
    image: coredns/coredns
    container_name: coredns
    restart: on-failure
    command: -conf /etc/coredns/data/corefile
    expose:
      - '53'
      - '53/udp'
    ports:
      - '53:53'
      - '53:53/udp'
    volumes:
      - '/data/coredns/data:/etc/coredns/data/'
3. Создание папки для данных CoreDNS и переход в неё
mkdir -p data && cd $_
4. Создание файла corefile
example.com:53 {
  file /etc/coredns/data/example.db
    log
    errors
}
5. Создание файла example.db
@    IN    SOA    ns1.example.com.    root.example.com. (
                                                                XXXXXXXXXX
                                                                7200
                                                                3600
                                                                1209600
                                                                180 )
@              1800    IN      NS            ns1.example.com.
@              1800    IN      NS            ns2.example.com.
ns1           1800    IN      A               xxx.xxx.xxx.xxx
ns2           1800    IN      A               xxx.xxx.xxx.xxx
@              1800    IN      TXT          "v=spf1 a mx ip4:xxx.xxx.xxx.xxx ~all"
_dmarc     1800    IN      TXT          "v=DMARC1; p=none"
www         1800    IN      A              xxx.xxx.xxx.xxx
@              1800    IN      A              xxx.xxx.xxx.xxx

Помните:

  • Замените example.com на свой домен.
  • Замените xxx.xxx.xxx.xxx на свои внешние адреса.

Теперь ваш контейнер с CoreDNS готов к использованию!