1、下载CoreDNS镜像:

docker pull coredns/coredns:1.12.0

2、查看镜像是否下载下来:

docker images

3、创建 CoreDNS目录:

mkdir -p /home/CoreDNS

cd /home/CoreDNS

4、创建 docker-compose.yml文件:

vim docker-compose.yml

version: '3.7'
services:
  coredns:
    image: coredns/coredns:1.12.0
    restart: always  # 开机自启
    container_name: coredns
    ports:
      - "53:53/udp"
    volumes:
      - ./config/Corefile:/Corefile

5、创建 config目录:

mkdir -p /home/CoreDNS/config

cd /home/CoreDNS/config

6、创建 Corefile文件:

vim Corefile

.:53 {
    hosts {
        10.121.24.xxx  a8.xxxx.cs
        10.121.24.xxx  a8.xxxx.cs
        172.16.1.xxx   oa.xxxx.cs
        172.16.1.xxx   oa.xxxx.as
        fallthrough
    }
    forward . 223.5.5.5:53 114.114.114.114:53
    log
}

6.1、给Corefile文件权限:

chmod 744 /home/CoreDNS/config/Corefile

7、启动服务:

docker-compose up -d

8、验证服务是否正常启动:

cd /home/CoreDNS

docker-compose ps

docker-compose ps -a

9、查看端口占用情况:

netstat -tuln | grep :53

10、暂停服务、关闭服务:

docker-compose stop

docker-compose down

11、设置docker-compose的CroeDNS服务开机自启:

vim /etc/systemd/system/docker-compose-CoreDNS.service

[Unit]
Description=Docker Compose Application Service
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/CoreDNS/          # 这写docker-compose.yml文件所在目录的位置
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

11.1、给权限:

chmod 777 /etc/systemd/system/docker-compose-CoreDNS.service

11.2、设置开机自启:

systemctl enable docker-compose-CoreDNS.service