CoreDNS 安裝教學 in Centos8

CoreDNS 安裝教學 in Centos8(🐳Docker)

tags: coreDNS docker centos el8

安裝Docker

  • step 1 Add docker repo

    $ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
  • step 2 Installing docker-ce 相關依賴套件

    • buildah
    • podman
    • containerd.io > 1.2.0-3.el7
      $ sudo dnf -y install buildah && dnf -y install podman
  • step 2.5 Manual Installing containerd.io

    版本號 1.2.13-3.2 可更換最新的 
    $ sudo dnf -y install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.2.el7.x86_64.rpm
  • step 3 Installing docker-ce

    $ sudo dnf -y install docker-ce
  • step 4 關閉防火牆(會造成docker內部橋接網路不通)

    $ sudo systemctl disable firewalld
  • step 5 Start and enable the docker daemon

    設定為daemon啟動
    $ sudo systemctl enable --now docker

    檢查是否啟動
    $ sudo systemctl is-active docker

    檢查是否自動啟動
    $ sudo systemctl is-enabled docker
  • step 6 Installing docker-compose(手動方式)

    下載可執行檔案 1.27.0-rc3 可更換最新的
    $ curl -L "https://github.com/docker/compose/releases/download/1.27.0-rc3/docker-compose-$(uname -s)-$(uname -m)" -o docker-compose
    加可執行and傳到/usr/local/bin底下
    $ sudo mv docker-compose /usr/local/bin && sudo chmod +x /usr/local/bin/docker-compose

    :::info
    ==番外== testing docker

    $ sudo docker run --rm --name=linuxconfig-test -p 80:80 httpd 
    如果成功用瀏覽器在自己的ip打開 會看到it's work!
    $ sudo docker rmi httpd
    刪除測試用httpd

    :::

安裝CoreDNS

  • step 1 dockerhub 上抓coredn的映像檔

    $ sudo docker pull coredns/coredns
  • step 2 config coredns

    • docker-compose.yml
      $ sudo mkdir -p docker/coredns/config && cd docker/coredns && vim docker-compose.yml
      version: '3.8'
      services:
      coredns:
      image: coredns/coredns:latest
      container_name: coredns
      restart: always
      expose:
      - '53'
      - '53/udp'
      ports:
      - '53:53'
      - '53:53/udp'
      volumes:
      - '$PWD/config/:/etc/coredns/'
      command:
      - '-conf'
      - '/etc/coredns/Corefile'
    • Corefile
      $ sudo vim config/Corefile
      .:53 {
      forward . 8.8.8.8:53
      log
      errors
      }

      mis {
      file /etc/coredns/mis
      log
      errors
      }
    • mis
      $ sudo vim config/mis
      $TTL 10
      @ IN SOA ns1.service. root.ns.service. (
      2 ;serial
      300 ; refresh
      1800 ; retry
      10 ; expire
      300 ; minimum
      )

      ;name servers
      @ IN NS ns1.service.
      ns1.service. IN A 10.20.10.246
      vcsa IN A 192.168.9.200
      esxi201 IN A 192.168.9.201
      esxi202 IN A 192.168.9.202
      esxi203 IN A 192.168.9.203
      esxi204 IN A 192.168.9.204
      esxi205 IN A 192.168.9.205
      esxi206 IN A 192.168.9.206
      esxi207 IN A 192.168.9.207
      esxi208 IN A 192.168.9.208
      esxi209 IN A 192.168.9.209
      esxi210 IN A 192.168.9.210
  • step 3 Run docker-compose

enable

$ sudo docker-compose up -d

restart

$ sudo docker-compose restart coredns
or
$ sudo docker restart coredns