ติดตั้งและใช้งาน WordPress ด้วย Docker ใน 5 นาที

ในช่วงไม่กี่ปีมานี้เราจะเห็นได้ว่าโลกแห่ง Developer นั้นเต็มไปด้วย Tools ที่ช่วยมากมายจนเลือกไม่ถูกเลยทีเดียว ทุกวันนี้เลยกลายเป็นว่าการจะเป็น Developer นั้นนอกจากจะเก่งในเรื่องพัฒนาโค๊ดแล้ว ยังต้องเรียนรู้การใช้ Tools ควบคู่กันไปด้วย

สำหรับ Developer สมัยเก่าถ้ายังจำได้ การจะวางโครงสร้างเว็บในแต่ละเว็บนั้นมันไม่ง่ายเลยถ้ามองย้อนไปใน 2-3 ปีในช่วงที่ผ่านมา แม้กระทั้งเว็บไซต์สำหรับรูปที่มีอยู่แล้วตามท้องตลาดมากมายก็ยังต้องใช้เวลาในการติดตั้งอยู่ดี แต่เมื่อเราได้รู้จักกับ Software Container ทุกอย่างก็เปลี่ยนไป กลายเป็นคนขี้เกียจขึ้น (หรือปล่าว) คิคิ

ในบทความนี้เราจะยกตัวอย่างการใช้ Software Container ตัวที่นึงที่ชื่อว่า Docker ในการติดตั้งและใช้งาน WordPress ในเวลาไม่เกิน 5 นาที โอ้วซาร่า….

ถ้าจะให้อธิบายเรื่อง Software Container แบบง่ายๆ แล้วหละก็ มันก็คือ

” ตัวช่วยที่ทำให้เราสามารถ ห่อโปรแกรมที่เราต้องการนำใช้งาน รวมไปถึง Environment ที่จำเป็นต่อการใช้งานของโปรแกรมนั้นๆ ไว้ จากนั้นก็เอาไปรันที่ไหนก็ได้ที่ Docker Engine รองรับนั้นเอง

เหมือนรถ Food Truck ที่เตรียมของแล้วจะไปเปิดขายที่ไหนก็ได้ไง

ไม่ต้องกังวลว่าตอน Development รันได้ แต่พอ Production แล้วรันไม่ได้ซะงั้น โถ่ววววววว ลืมจุดธูป….”

ร่ายซะยาว มาเริ่มกันเลยดีกว่า….

ขั้นตอนที่ 1 ติดตั้ง Docker บนเครื่องที่คุณต้องการ

ในตัวอย่างนี้ ผมได้เลือกใช้ Digital Ocean ในการแสดงตัวอย่างการติดตั้งให้ดู โดยเลือกใช้ Ubuntu 16.04.2 x64

ก่อนอื่น ต้องติดตั้ง Package พื้นฐานกันก่อน

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

จากนั้นก็ ติดตั้ง Docker ตามคำสั่งต่อไปนี้

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-compose

เมื่อติดตั้งเสร็จก็ลองพิมพ์คำสั่งด้านล่างนี้เข้าไป เพื่อตรวจสอบว่าเราติดตั้งได้ถูกต้องหรือไม่

$ docker -v

หน้าตาที่ที่ได้ควรจะเป็นแบบนี้นะ

ผลลัพธ์การติดตั้ง Docker-engine

ส่วน Platform อื่นสามารถอ่านการติดตั้งได้ที่นี่เลย https://docs.docker.com/engine/installation

ขั้นตอนที่ 2 สร้าง Docker-compose ไฟล์เพื่อ Build Image ของ WordPress

โดยปกติแล้ว WordPress ได้ทำการสร้าง Image ไว้ให้เราได้ใช้งานอยู่แล้ว ซึ่งจะอยู่ใน Docker Hub (https://hub.docker.com) เราเพียงแค่ Pull มาใช้ได้ก็เป็นอันเสร็จ แต่ทั้งนี้ในเมื่อเซิร์ฟเวอร์เรายังไม่มี MySQL เลย วิธีที่ง่ายที่สุดก็คือ Pull Docker Image ของ MySQL Official ไปเลยไง ซึ่งกระบวนการทั้งหมดนี้สามารถทำได้โดยการสร้างไฟล์ docker-compose.yml ขึ้นมา 1 ไฟล์และเขียนพวกนี้ลงไป

ตัวอย่างไฟล์ docker-compose.yml

version: '2'
services:
  db:
    container_name: db
    image: mysql
    restart: always
    environment:
       - MYSQL_USER=root
       - MYSQL_ROOT_PASSWORD=abc123
       - MYSQL_DATABASE=web.wordpress
  web.wordpress:
    container_name: web.wordpress
    image: wordpress
    environment:
       - WORDPRESS_DB_HOST=db
       - WORDPRESS_DB_USER=root
       - WORDPRESS_DB_PASSWORD=abc123
       - WORDPRESS_DB_NAME=web.wordpress
    ports:
       - 80:80
    restart: always

ขั้นตอนที่ 3 Build มันซะ

เราจะใช้ Docker-compose ทำการ Build และ Run ไฟล์ที่เราเขียนด้วยคำสั่ง ด้านล่างนี้

$ docker-compose up -d

มันจะทำดึง Image ที่เราเรียกใช้ซึ่งได้แก่ MySQL และ WordPress มาจาก Docker Hub (ศูนย์รวม Docker Image)

เมื่อ Build เสร็จสามารถตรวจสอบการทำงานของ Docker แต่ละตัวที่เรา Build ได้ด้วยคำสั่ง

$ docker ps

หน้าตามันก็จะออกมาประมาณนี้ บอกว่ามี Container ไหนที่รันอยู่บ้าง

ตรวจสอบการทำงานของ Docker Container

จะเห็นว่า Image ที่เรา Pull มานั้นสามารถ Run ได้ปกติ …. งั้น ! ไหนลองเข้าเว็บดูสิ๊

ขั้นตอนการตั้งค่า WordPress เบื้องต้น

จะเห็นได้ว่า WordPress จะขึ้นหน้าสำหรับการตั้งค่าครั้งแรกมาให้ และเมื่อลองตั้งค่าดูแล้ว เราก็จะได้เว็บที่สามารถใช้งานได้ปกติ มาแล้วววววววว!!!!!

หน้าตัวอย่าง WordPress ที่ติดตั้งด้วย Docker

เห็นไหมครับ แค่นี้สำหรับการติดตั้ง WordPress อย่างง่าย ในเวลาเพียงแปปเดียว และด้วยพลังของ Docker นี้เองทำให้เราเหลือเวลาไปเที่ยว เหล่สาวได้อีกเยอะ อิอิ สำหรับตัวอย่างนี้ผมได้อัพโหลดลง Github เรียบร้อยสามารถเข้าไปดูตัวอย่างการใช้งานเพิ่มเติมได้ที่นี่เลย https://github.com/imalic3/docker-compose-wordpress

และหากใครยังสงสัยว่า Docker คืออะไร มันดียังไง เราสามารถประยุกต์อะไรกับมันได้อีกบ้าง จิ้มที่นี่ (อากู๋จะบอกทุกสิ่งที่เจ้าอยากรู้) แล้วไว้เจอกันใหม่ใน บทความหน้านะครับ บ๊ายบาย !!!!!

 

 

Recent Posts

Recent Comments

Archives

Categories

Meta

imalice Written by:

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *