บทความนี้นำเสนอ การติดตั้ง Docker บน Windows 10 พร้อมติดตั้ง SQL Server บน Docker
ติดตั้ง Docker
ให้ทำการดาวน์โหลดตัวติดตั้ง Docker สำหรับ Windows 10 โดยเข้าไปที่เว็บ
https://www.docker.com/get-started
จากนั้นทำการดาวน์โหลด Docker Desktop for Windows
จะได้ไฟล์ Docker Desktop Installer เมื่อได้ไฟล์เรียบร้อยให้ทำการติดตั้งโปรแกรมได้เลย
ขณะติดตั้งจะขึ้นหน้าต่าง
ให้คลิก OK
โปรแกรมก็จะทำการติดตั้งจนเสร็จ
จะปรากฎไอคอน Docker Desktop ที่หน้า Desktop ให้ดับเบิ้ลคลิกเพื่อเรียกใช้งาน Docker
รอสักครู่ให้ Docker Start จนเร็จ จากนั้นไปคลิกที่ ปุ่ม Hidden Icon ที่ Task bar
ให้คลิกที่ไอคอน Docker แล้วเลือก Dashboard จะปรากฎหน้าต่าง Docker Dashboard
จากนั้นคลิก Sign In
(หากยังไม่เคยสมัครให้ทำการสมัครก่อนโดยเข้าไปสมัครที่ http://hub.docker.com)
หน้าต่าง Dashboard จะเป็นตัวบริหารจัดการ Container ที่เราสร้างขึ้น
ต่อไปเราไปทำการติดตั้ง SQL Server
ติดตั้ง SQL Server
ไปที่ Windows Search ที่ Taskbar แล้วค้นหา PowerShell
เมื่อเจอแล้วให้ เปิดหน้าต่าง Windows PowerShell ในโหมด Run as Administrator
เมื่อเปิดหน้าต่าง PowerShell ขึ้นมาแล้วให้พิมพ์
docker login
เริ่มต้นติดตั้ง SQL Server
สำหรับตัวอย่างคำสั่ง 2019-CU6-ubuntu-16.04 จะเป็นการติดตั้ง SQL Server 2019
หากต้องการติดตั้งในรุ่นอื่นสามารถกำหนดรุ่นได้ตามต้องการ โดยดูรุ่นต่าง ๆ ตามลิงค์
https://hub.docker.com/_/microsoft-mssql-server
1. ดาวน์โหลดไฟล์ติดตั้งสำหรับ SQL Server โดยพิม์คำสั่ง
docker pull mcr.microsoft.com/mssql/server:2019-CU6-ubuntu-16.04
โปรแกรมจะทำการดาวน์โหลด SQL Server ดังภาพ
2. สร้าง Container และติดตั้ง SQL Server ให้กับ Docker โดยพิมพ์คำสั่ง
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=รหัสผ่าน" -p1433:1433 --name sql2019 -d mcr.microsoft.com/mssql/server:2019-CU6-ubuntu-16.04
*** กำหนดรหัสผ่านสำหรับ SA ตรง รหัสผ่าน ตามต้องการ
เมื่อกำหนดเสร็จ ไปที่หน้าต่าง Docker Dashboard จะปรากฎ SQL Server ดังภาพ
ยินดีด้วย ติดตั้ง SQL Server ภายใต้ Docker เสร็จเรียบร้อย ในหน้าต่างนี้เราสามารถบริหารจัดการ Container sql2019 ได้ผ่านไอคอนด้านหลัง
ต่อไปเราจะทำการทดสอบ ให้ไปทำการปิด firewall ก่อน
แล้วทำการติดตั้ง SQL Management Studio ดาวน์โหลดได้ตามเว็บไซต์ด้านล่าง
ติดตั้งเสร็จทำการเปิดใช้งาน
แล้ว login เข้า SQL Server ตามภาพด้านล่าง
ยินดีด้วย ทำสำเร็จแล้ว เย้ ๆ ๆ ๆ
สำหรับระบบปฎิบัติการ MacOS ก็ทำลักษณะเดียวกัน แต่ต้องระวังเรื่องการกำหนดรหัสผ่าน ซึ่งต้องเป็นรหัสผ่านที่เป็นไปตามข้อกำหนด คือ อย่างน้อย 8 ตัวอักษรและมีตัวอักษรใหญ่เล็ก เป็นต้น ไม่เช่นนั้นจะไม่สามารถ start ตัว sql container ได้
สำหรับระบบปฏิบัติการ MacOS Linux ยังไม่มี SSMS เราสามารถดาวน์โหลด Azure Data Studio มาใช้แทนได้ โดยไปทำการดาวน์โหลดได้ที่เว็บ
https://github.com/Microsoft/azuredatastudio
ติดตั้ง MariaDB
1. เปิด Terminal หรือ Powershell แล้วป้อนคำสั่ง
docker login
2. ดาวน์โหลดไฟล์ติดตั้งสำหรับ MariaDB โดยพิม์คำสั่ง
docker pull mariadb:latest
รอจนกระทั่งทำการดาวน์โหลดโปรแกรมเสร็จ
3. สร้าง Container และติดตั้ง MariaDB ให้กับ Docker โดยพิมพ์คำสั่ง
docker run --name mariadb -e MYSQL_ROOT_PASSWORD=รหัสผ่าน -d mariadb
*** กำหนดรหัสผ่านสำหรับ root ตรง รหัสผ่าน ตามต้องการ
หากไม่มีข้อผิดพลาดใด ๆ การติดตั้งสำเร็จเรียบร้อย ให้ไปเปิด Docker -> Dashboard จะปรากฎ Container ของ mariadb
ติดตั้ง Web Server
1. เปิด Terminal หรือ Powershell แล้วป้อนคำสั่ง
docker login
2. ดาวน์โหลดไฟล์ติดตั้งสำหรับ PHP 7.4 โดยพิม์คำสั่ง (รุ่นล่าสุดปี 2563)
docker pull php:7.4-apache
3. สร้าง Container และติดตั้ง PHP ให้กับ Docker โดยพิมพ์คำสั่ง
docker run -p 80:80 --name webm php:7.4-apache
กรณีที่มีการใช้งาน port 80 อยู่ก่อนแล้ว ให้ทำการเปลี่ยน port ใหม่ เช่น 8080
docker run -p 8080:80 --name webm php:7.4-apache
4. เมื่อติดตั้งเสร็จเรียบร้อย ให้เปิด browser แล้วป้อน url ดังนี้
http://localhost
หากขึ้นข้อความ ว่า....
Forbidden
You don't have permission to access this resource.
Apache/2.4.38 (Debian) Server at localhost Port 80
ยินดีด้วย คุณติดตั้ง web server ได้แล้ว
กลับมานับ 1 กันใหม่
เราจะมาทำการเขียน php กัน ดังนั้น เริ่มต้นกันใหม่อีกครั้ง
1. ให้ไปทำการสร้าง โฟลเดอร์ใหม่ ชื่ออะไรก็ได้ เช่น php_www
แล้วไปสร้างเท็กซ์ไฟล์ ธรรมด้า ธรรมดา ชื่อ Dockerfile (ไม่ต้องมีนามสกุลไฟล์)
ป้อนคำสั่งในไฟล์ ดังนี้
FROM php:7.4-apache
2. สร้างไฟล์ชื่อ docker-compose.yml แล้วเขียนคำสั่ง ดังนี้
3. สร้างโฟลเดอร์ ชื่อ src ภายใต้ php_www แล้วเขียนคำสั่ง php เพื่อทดสอบ
โดยสร้างไฟล์ชื่อ phpinfo.php แล้วป้อนคำสั่ง
<?php
phpinfo();
?>
เมื่อสร้างไฟล์เสร็จจะได้ไฟล์ตามภาพด้านล่าง
4. เปิดโปรแกรม Powershell หรือ Terminal
พิมพ์
docker login
แล้วย้ายตำแหน่งโฟล์เดอร์ไปที่ โฟลเดอร์ที่เก็บไฟล์ ( php_www ที่สร้างไว้ในข้อ 1 )
แล้วป้อนคำสั่งต่อ ดังนี้
docker-compose up
กลับไปดูที่ Docker dashboard จะปรากฎ container รันขึ้นมาอีกตัว
5. เปิดโปรแกรม browser ขึ้นมาแล้วป้อน url ดังนี้
http://localhost:8080/phpinfo.php
จะปรากฎหน้าจอ phpinfo ดังภาพ
ที่เหลือก็นำไฟล์ .php มาใส่ไว้ใน โฟลเดอร์ src (โฟลเดอร์ที่สร้างไว้ในข้อ 3) ก็สามารถเรียกใช้งานได้แล้ว
สรุปง่าย ๆ แบบส่วนตัว
container ที่สร้างเหมือนเราสร้างโปรเจกต์ ในนั้นก็จะประกอบไปด้วยไฟล์ที่จำเป็น
ไม่ใช้ก็ลบ container ออก หรือ หยุดก็ได้
ใช้เมื่อไหร่ก็เข้าไปที่โฟลเดอร์ แล้วก็เรียกคำสั่ง docker-compose up
ระวังเรื่อง port ชนกันให้ดี
ขอแสดงความยินดีด้วย
;-)