การใช้คอนเทนเนอร์ Docker กับ WordPress

เผยแพร่แล้ว: 2022-06-30

การเรียกใช้เว็บไซต์ WordPress อาจเกี่ยวข้องกับการใช้การกำหนดค่าและการพึ่งพาซอฟต์แวร์จำนวนมากเพื่อผลิตผลิตภัณฑ์คุณภาพสูง คุณอาจเคยสงสัยว่ามีวิธีใดที่ง่ายกว่าในการพัฒนาโปรเจ็กต์ประเภทนี้ในเครื่องโดยไม่ต้องใช้แพ็คเกจซอฟต์แวร์ต่างๆ มากมายบนเครื่องของคุณเอง

โชคดีที่ Docker เป็นผลิตภัณฑ์ที่นำเสนอโซลูชันสำหรับการติดตั้ง WordPress ที่รวดเร็วและราบรื่นยิ่งขึ้น มากกว่าแค่เครื่องเสมือน Docker มีคอนเทนเนอร์สำหรับการพัฒนาเว็บไซต์ WordPress นอกเหนือจากแอพพลิเคชั่นและซอฟต์แวร์อื่นๆ Docker ยังสามารถช่วยคุณเตรียมแอปพลิเคชันสำหรับการจัดส่งไปยังแพลตฟอร์มอื่น ๆ ได้อย่างง่ายดาย ซึ่งทำให้เวิร์กโฟลว์ของคุณคล่องตัวขึ้น

ในบทความนี้ เราจะมาดูกันว่าคอนเทนเนอร์คืออะไร และส่งผลต่อการพัฒนาอย่างไร จากนั้นเราจะอธิบายวิธีตั้งค่าคอนเทนเนอร์สำหรับการพัฒนา WordPress ในพื้นที่ และเตรียมสำหรับการผลิต มาเริ่มกันเลย!

สารบัญ
1. คอนเทนเนอร์คืออะไร?
2. เริ่มต้นใช้งาน Docker
3. การใช้คอนเทนเนอร์สำหรับ WordPress (พร้อม Docker)
3.1. ขั้นตอนที่ 1: ติดตั้งเขียน
3.2. ขั้นตอนที่ 2: กำหนดโครงการ
3.3. ขั้นตอนที่ 3: สร้างไฟล์ Docker สำหรับ YAML
3.4. ขั้นตอนที่ 4: สร้างโครงการ
3.5. ขั้นตอนที่ 5: เข้าถึงการติดตั้ง WordPress ของคุณ
4. ฉันสามารถจัดส่งรูปภาพ WordPress ไปยังเซิร์ฟเวอร์ที่ใช้งานจริงได้หรือไม่
5. สร้างสิ่งที่ยอดเยี่ยมด้วย WP Engine

คอนเทนเนอร์คืออะไร?

การติดตั้ง WordPress ไม่ใช่เรื่องยาก และอาจเป็นเรื่องยากที่จะพัฒนาเว็บไซต์ WordPress ในแง่ของการพัฒนาเว็บ คอนเทนเนอร์คือหน่วยของซอฟต์แวร์ที่ได้มาตรฐาน ซึ่งจะรวมโค้ดของคุณและการพึ่งพาทั้งหมด ดังนั้นการปรับใช้ WordPress จึงง่ายขึ้นมาก คอนเทนเนอร์หลายตัวยังช่วยให้ทำสิ่งนี้ได้อย่างน่าเชื่อถือจากสภาพแวดล้อมหนึ่งไปอีกสภาพแวดล้อมหนึ่ง

แม้ว่า Docker จะเป็นการจำลองเสมือน แต่ก็ต่างจาก Virtual Machines (VMs) ทั่วไป ในขณะที่ VM ใช้พื้นที่อันมีค่า เพิ่มระบบปฏิบัติการโฮสต์ให้กับพื้นที่ผู้ใช้สำหรับแต่ละแอปพลิเคชัน การพัฒนาคอนเทนเนอร์จะแชร์สิ่งนั้นในคอนเทนเนอร์ทั้งหมด

ความงามที่แท้จริงของ Docker ก็คือว่ามันจะทำงานเหมือนกันไม่ว่าคุณจะใช้ OS อะไรก็ตาม นอกจากนี้ คุณสามารถเรียกใช้คอนเทนเนอร์ Docker จำนวนมากบนเครื่องที่อาจมีปัญหากับ VM จำนวนเท่ากัน คุณไม่ต้องกังวลกับข้อผิดพลาดใด ๆ ที่การพัฒนาในพื้นที่อาจเกิดขึ้นได้ในบางครั้ง สิ่งนี้เรียกอีกอย่างว่าปริศนา 'แต่ใช้งานได้กับเครื่องของฉัน' ในการพัฒนาแอปพลิเคชัน

เริ่มต้นใช้งาน Docker

Docker มีผลิตภัณฑ์ต่างๆ มากมาย ซึ่งรวมกันเป็นชุดเครื่องมือสำหรับนักพัฒนาที่มีประสิทธิภาพ คุณสามารถเริ่มต้นใช้งาน Docker Engine ได้โดยดาวน์โหลดเวอร์ชัน Community ฟรี:

คุณจะต้องสร้างบัญชี Docker เพื่อดาวน์โหลดเอ็นจิ้น จากนั้นคุณจะต้องทำความคุ้นเคยกับเอกสาร 'เริ่มต้น' ของ Docker คุณจะมี Docker เวอร์ชันต่างๆ ถึงแปดเวอร์ชันให้เลือก สำหรับตัวอย่างนี้ เราจะดาวน์โหลด Docker Desktop สำหรับ Mac:

คุณจะต้องลงชื่อเข้าใช้บัญชี Docker เพื่อดาวน์โหลดเอ็นจิ้น นอกจากนี้ คุณจะต้องแน่ใจว่าคุณมีแอปพลิเคชันเทอร์มินัลในคอมพิวเตอร์ของคุณพร้อมใช้งาน

การใช้คอนเทนเนอร์สำหรับ WordPress (พร้อม Docker)

หากต้องการใช้คอนเทนเนอร์ Docker เพื่อพัฒนาเว็บไซต์ WordPress ในเครื่อง คุณจะต้องใช้แอปพลิเคชัน Docker อื่นด้วย เราจะพูดถึงวิธีการติดตั้ง Compose ในอีกสักครู่ แต่สิ่งสำคัญคือต้องรู้ว่าเครื่องมือนี้ใช้สำหรับกำหนดและเรียกใช้แอปพลิเคชันแบบหลายคอนเทนเนอร์ใน Docker จากนั้นคุณก็พร้อมที่จะกระโดดเข้าไป!

ขั้นตอนที่ 1: ติดตั้งเขียน

ก่อนที่คุณจะเริ่มใช้งาน Docker คุณจะต้องแน่ใจว่าได้ติดตั้ง Compose แล้ว หากคุณใช้งาน Docker Desktop สำหรับ Mac หรือ Windows Compose จะติดตั้งมาล่วงหน้าแล้ว:

หากคุณกำลังใช้งาน Linux คุณจะต้องใช้ Terminal เพื่อดำเนินการคำสั่งการติดตั้ง โปรดจำไว้ว่า Compose นั้นขึ้นอยู่กับ Docker Engine คุณจะต้องติดตั้งทั้งคู่เพื่อมีส่วนร่วมในการพัฒนา WordPress

เขียนใช้ไฟล์ YAML Ain't Markup Language (YAML) เพื่อกำหนดค่าบริการทั้งหมดของแอปพลิเคชันของคุณ นี่เป็นวิธีที่เป็นมิตรต่อมนุษย์ในการนำเสนอข้อมูลอนุกรม และใช้ได้กับภาษาโปรแกรมทั้งหมด ในกรณีนี้ ไฟล์ YAML จะตั้งค่าข้อมูลฐานข้อมูลที่จำเป็นสำหรับ WordPress

ขั้นตอนที่ 2: กำหนดโครงการ

เมื่อคุณติดตั้ง Docker Engine และ Compose แล้ว คุณสามารถเริ่มต้นโครงการพัฒนา WordPress แรกของคุณได้ คุณจะต้องสร้างไดเร็กทอรีโปรเจ็กต์ใหม่ที่ว่างเปล่าโดยใช้คำสั่ง 'make directory':

mkdir new_wordpress/

ไดเร็กทอรีที่คุณตั้งค่าจะเป็นบริบทสำหรับการพัฒนาของคุณ และจะประกอบด้วยเฉพาะรายการที่จำเป็น ซึ่งรวมถึงไฟล์ docker-compose.yaml ของคุณ เราจะสร้างไฟล์นั้นในขั้นตอนต่อไป

ถัดไป คุณสามารถย้ายไปยังไดเร็กทอรีใหม่ของคุณโดยใช้คำสั่งต่อไปนี้:

cd new_wordpress/

ตอนนี้คุณจะอยู่ในไดเรกทอรีโครงการใหม่และพร้อมที่จะทำงาน

ขั้นตอนที่ 3: สร้างไฟล์ Docker สำหรับ YAML

ตอนนี้ คุณจะต้องสร้างไฟล์ docker-compose.yaml ใหม่ สิ่งนี้จะสร้างการติดตั้ง WordPress ใหม่และฐานข้อมูล MySQL ที่จำเป็น ไฟล์ของคุณจะมีข้อมูลทั้งหมดสำหรับทั้ง WordPress และฐานข้อมูลของคุณ รวมถึงพอร์ต ฐานข้อมูล ชื่อโฮสต์ และรหัสผ่านที่จำเป็น

ไฟล์ YAML ของคุณจะมีลักษณะดังนี้:

version: '3.3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}

เป็นที่น่าสังเกตว่าไดรฟ์ข้อมูล Docker มีข้อมูลถาวร และคุณอาจต้องการอ้างอิงเอกสารประกอบเกี่ยวกับไดรฟ์ข้อมูลเพื่อให้ทำงานได้อย่างรวดเร็ว

ขั้นตอนที่ 4: สร้างโครงการ

เมื่อคุณกำหนดค่าไฟล์ YAML แล้ว คุณจะต้องดำเนินการคำสั่งที่จะดึงรูปภาพที่จำเป็นทั้งหมดและตั้งค่าโครงการ WordPress ของคุณ จากภายในไดเร็กทอรีโครงการของคุณ คุณจะเรียกใช้คำสั่งต่อไปนี้:

docker-compose up -d

ตอนนี้คุณควรเห็นว่า Docker 'ดึง' ในภาพ MySQL และ WordPress

เป็นที่น่าสังเกตว่าหน้าอิมเมจ Docker Hub มีข้อมูลที่มีค่ามากมายเกี่ยวกับคอนเทนเนอร์ MySQL และ WordPress:

พิจารณาคู่มืออ้างอิงแบบ all-in-one เหล่านี้พร้อมคำสั่งที่เป็นประโยชน์สำหรับอิมเมจคอนเทนเนอร์ พวกมันควรค่าแก่การบุ๊กมาร์กเพื่อใช้ในภายหลัง

ขั้นตอนที่ 5: เข้าถึงการติดตั้ง WordPress ของคุณ

เนื่องจากคุณกำลังติดตั้งไซต์นี้ในเครื่อง คุณจะต้องใช้พอร์ตที่ระบุในไฟล์ YAML ของคุณ แทนที่จะใช้สคริปต์ WordPress /install.php ทั่วไป เนื่องจากเราใช้ Docker Desktop สำหรับ Mac ในตัวอย่าง เราจะใช้ https://localhost เป็นที่อยู่ IP และเปิดพอร์ต https://localhost:8000 นี่คือพอร์ตที่กำหนดไว้ในไฟล์ YAML ของคุณ

ตอนนี้คุณน่าจะอยู่ในดินแดนที่คุ้นเคยแล้ว หากคุณเคยติดตั้ง WordPress มาก่อน และคุณสามารถทำตามขั้นตอน 'การติดตั้งที่มีชื่อเสียงห้านาที' ให้เสร็จสิ้นได้:

คุณอาจต้องให้เวลา Docker สักครู่เพื่อโหลดและเริ่มต้นรูปภาพอย่างสมบูรณ์ แต่จากนั้นคุณสามารถเข้าถึง WordPress ในเบราว์เซอร์เพื่อทำตามขั้นตอนการติดตั้งมาตรฐานให้เสร็จสิ้น

ขอแนะนำให้คุณ 'ปิดและล้างข้อมูล' เมื่อคุณติดตั้งเสร็จแล้วเช่นกัน ในการดำเนินการนี้ คุณสามารถใช้คำสั่ง 'down' ของ Docker การดำเนินการนี้จะหยุดและนำคอนเทนเนอร์ออก แต่จะรักษาฐานข้อมูลของ WordPress มีบางสิ่งที่ต้องทำความเข้าใจเกี่ยวกับการหยุดชั่วคราว การฆ่า และการหยุดคอนเทนเนอร์หากคุณใช้ Docker ดังนั้นจึงควรอ่านเพิ่มเติมในหัวข้อนี้

ฉันสามารถจัดส่งรูปภาพ WordPress ไปยังเซิร์ฟเวอร์ที่ใช้งานจริงได้หรือไม่

สิ่งสำคัญที่ควรทราบคือไซต์ที่โฮสต์บนเซิร์ฟเวอร์ WP Engine ไม่มีการเข้าถึงรูทที่จำเป็นในการตั้งค่าอิมเมจนักเทียบท่าใหม่ อย่างไรก็ตาม หากเว็บไซต์ของคุณอยู่บนเซิร์ฟเวอร์ที่ใช้งานจริง คุณสามารถทำตามขั้นตอนด้านล่างเพื่อจัดส่งภาพของคุณ

เมื่อคุณสร้างรูปภาพ WordPress ในเครื่องแล้ว คุณอาจสงสัยว่าจะใช้รูปภาพเดียวกันนี้บนเซิร์ฟเวอร์ที่ใช้งานจริงได้อย่างไร บางขั้นตอนที่คุณเพิ่งทำเสร็จจะเหมือนเดิม แต่คุณจะต้องสร้างที่เก็บส่วนตัวบน Docker Hub ก่อน

หากต้องการนำคอนเทนเนอร์ WordPress Docker ไปใช้จริง คุณจะต้องใช้บัญชี Docker และพุชรูปภาพไปยังที่เก็บส่วนตัว จากที่นั่น คุณสามารถทำตามขั้นตอนเดียวกับที่เราดำเนินการไปก่อนหน้านี้ แต่คุณจะดึงรูปภาพจากที่เก็บของคุณไปยังเซิร์ฟเวอร์ที่ใช้งานจริงได้โดยตรงด้วยการเปลี่ยนข้อมูลพอร์ตในไฟล์ YAML ของคุณ

มีตัวเลือกฟรีสำหรับการใช้ที่เก็บส่วนตัว แต่คุณสามารถสร้างได้เพียงแห่งเดียวเท่านั้น โชคดีที่ Docker มีระดับราคาหลายระดับเพื่อให้เหมาะกับความต้องการของนักพัฒนาซอฟต์แวร์ทุกคน:

ในท้ายที่สุด ถ้าคุณต้องการปรับปรุงเวิร์กโฟลว์การพัฒนาของคุณ หรือเพียงแค่ทำให้เท้าเปียกในพื้นที่นี้ Docker เป็นเครื่องมือที่ยอดเยี่ยมที่จะมีในชุดทรัพยากรของคุณ มีเอกสารและการสนับสนุนที่เป็นประโยชน์มากมายเช่นกัน

สร้างสิ่งที่ยอดเยี่ยมด้วย WP Engine

เมื่อคุณคุ้นเคยกับ Docker แล้ว คุณอาจมีความกระตือรือร้นที่จะเข้าร่วมและเริ่มพัฒนาแอปพลิเคชันใหม่ๆ เพื่อตั้งค่าไซต์ WordPress โปรดจำไว้ว่าข้อดีที่ใหญ่ที่สุดอย่างหนึ่งของ Docker คือคุณจะรู้ว่าแอปพลิเคชันของคุณจะไม่พบข้อผิดพลาดเฉพาะเครื่องที่เล่นโวหาร

ที่ WP Engine เราชอบที่จะแบ่งปันแหล่งข้อมูลสำหรับนักพัฒนาที่ดีที่สุด เพื่อให้คุณสามารถสร้างประสบการณ์ดิจิทัลที่เหลือเชื่อสำหรับลูกค้าของคุณ ไม่ว่าคุณจะอยู่ในขั้นตอนการพัฒนา การแสดงละคร หรือขั้นตอนการผลิตของโครงการของคุณ เรามีแผนโฮสติ้งและโซลูชันดิจิทัลที่เป็นนวัตกรรมใหม่สำหรับคุณ!

ต้องการทราบวิธีอื่นในการติดตั้งแอปพลิเคชั่น WordPress อย่างรวดเร็วหรือไม่? หรือวิธีอื่นในการตั้งค่าไซต์ WordPress? แจ้งให้เราทราบความคิดเห็นของคุณในส่วนความคิดเห็น