04 กันยายน 2563

SQL Server : Install SQL Server and MariaDB via Docker Container on Windows 10

 ทความนี้นำเสนอ การติดตั้ง 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 ดาวน์โหลดได้ตามเว็บไซต์ด้านล่าง

https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

ติดตั้งเสร็จทำการเปิดใช้งาน

แล้ว login เข้า SQL Server  ตามภาพด้านล่าง


ทดสอบดูว่าเราติดตั้ง 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 แล้วเขียนคำสั่ง ดังนี้


version: "3"
services:
www01:
build: .
ports:
- "8080:80"
volumes:
- ./src:/var/www/html/
networks:
- default



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 ชนกันให้ดี 


 ขอแสดงความยินดีด้วย



;-)


"I Believe in You"

Copyright(c) 2007 - 2022 by Kasem Kamolchaipisit.