Pi-hole ตอนที่ 3: ติดตั้ง Pi-hole บน Docker

หลังจากตอนที่แล้ว ที่เราได้ลองติดตั้ง Pi-hole บน CentOS 7 กันไปแล้ว เรามาดูวิธีการติดตั้ง Pi-hole บน Docker กันบ้างครับ

มาเริ่มติดตั้ง Pi-hole บน Docker กันเลย.., ก่อนอื่นก็ต้องเตรียม Docker ให้พร้อม ซึ่งสำหรับผู้ที่เลือกวิธีการนี้ น่าจะมี Docker กันอยู่แล้ว ขอข้ามไปเลยนะครับ และเวอร์ชั่นที่ผมใช้ในการทดสอบติดตั้งจะเป็นเวอร์ชั่น Docker version 19.03.12, build 48a66213fe และ docker-compose version 1.26.2, build eefe0d31 นะครับ

เริ่มจากสร้างไฟล์ docker-compose.yml กันก่อนครับ

version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "80:80/tcp"
      - "443:443/tcp"
    environment:
      TZ: 'Asia/Bangkok'
      WEBPASSWORD: '@pi-hole-password-input-here'
    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    # Recommended but not required (DHCP needs NET_ADMIN)
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    cap_add:
      - NET_ADMIN
    restart: unless-stopped

ในส่วนของ WEBPASSWORD ให้เราตั้งค่ารหัสผ่าน admin ที่เราต้องการให้เรียบร้อย จากนั้นเราก็สั่ง docker-compose up -d ได้เลยครับ

docker-compose up -d
Creating pihole ... done

และลองดู Process ที่ Docker รันอยู่ว่ามี Contener ของเราหรือยัง?

docker ps
CONTAINER ID        IMAGE                  COMMAND             CREATED             STATUS                    PORTS                                                                                                  NAMES
88bf5bac5464        pihole/pihole:latest   "/s6-init"          36 seconds ago      Up 35 seconds (healthy)   0.0.0.0:53->53/udp, 0.0.0.0:53->53/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:67->67/udp   pihole

หากว่าเห็น Contener ของเรารันอยู่แบบนี้แล้ว ก็ลองเข้าใช้งาน IP/admin หรือหากติดตั้งใน localhost ก็ลองเข้าใช้งาน localhost/admin ก็จะเจอหน้า Pi-hole แล้วครับ

Install Pi-hole on Docker

Note: ถ้าใครเข้า localhost ไม่ได้ ให้เข้าผ่านทาง http://127.0.0.1/admin/ แทนนะครับ