คู่มือการติดตั้งเครื่องมือที่ใช้ในการเรียน The Cloud Camp รอบ Audition
Tags: container, docker, beginners, tutorial
Published: 2023-06-18 15:00:03

อย่างที่รู้กันว่า Jumpbox กำลังเปิดโครงการ "The Cloud Camp" ในรอบ Free หรือที่เรียกว่า "รอบ Audition 3 วัน" เพื่อเตรียมตัวในการเรียนหลักสูตรเข้มข้น 15 สัปดาห์ด้วยเนื้อหาเชิงลึก
ในหลักสูตรของเรามีความจำเป็นอย่างมากที่ผู้เรียนจะต้องสามารถฝึกฝนในการใช้งานเครื่องมือพื้นฐานที่ใช้ในการเรียนการสอนของเรา เพื่อได้ปฏิบัติจริง โดยเครื่องมือแรกที่เราอยากให้ศึกษาและติดตั้งเป็นสิ่งแรก นั่นก็คือ "Docker" นั่นเอง
ดังนั้น ในบทความนี้ เรามาดูกันเถอะว่า เราจะสามารถติดตั้ง Docker ได้อย่างไรบ้าง


**วิธีติดตั้ง Docker Desktop บนคอมพิวเตอร์ที่เป็น Mac**

1. ดาวน์โหลด Docker สำหรับ Mac OS คุณสามารถดาวน์โหลดไฟล์ สำหรับโปรแกรม Docker ได้ที่นี่ [link](https://docs.docker.com/desktop/install/mac-install/) โดยเลือกระหว่าง Mac Intel Chip (Mac OS รุ่นเก่า) หรือ Mac Apple Silicon Chip (Mac OS รุ่นใหม่ Chip M1 ขึ้นไป)

![Docker Mac Download](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j7fozsg15gmu2azbvfqp.png)

2. หลังจากดาวน์โหลดตัวติดตั้งแล้ว เราก็เปิดมันขึ้นมา แล้วลาก Docker ไปที่โฟลเดอร์ Applications และนั่นคือ เราติดตั้ง Docker Desktop สำเร็จแล้วตามภาพ

![Done](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9bn7x3mazn9hfon9rcy.png)

![Install Loading](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qi1y7llacxohl8pgcy1f.png)

2.1 เราต้องใช้เวลาสักครู่เพื่อให้ Docker desktop เริ่มทำงาน โดยสามารถดูสถานะได้โดยคลิกที่ไอคอนนี้

![Docker Status Running](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z5p9i20i2377ipdwa0uw.png)

ดังนั้น การใช้งานของ Docker จะเสร็จสมบูรณ์เมื่อ Status ของ Docker Desktop ขึ้นว่า "Docker Desktop is Running"

![Docker Status Done](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/leoviz06oq6c5qsi8bs6.png)

ก็เป็นอันว่า "การติดตั้ง Docker เสร็จสมบูรณ์เรียบร้อยแล้ว"


**วิธีติดตั้ง Docker Desktop บนคอมพิวเตอร์ที่เป็น Windows**

**ความต้องการขั้นต่ำของระบบ**
- ระบบปฏิบัติการ Windows 10 Pro, Enterprise, หรือ Education อย่างใดอย่างหนึ่ง แต่ต้องเป็นเวอร์ชัน 64 bit เท่านั้น
- RAM 4GB ขึ้นไป

**ขั้นตอนในการติดตั้ง**

- อัพเดท Windows 10 เป็น Version 2004 หรือมากกว่า
- เปิดใช้งาน WSL 2 Feature on Windows
- ติดตั้ง Docker Desktop
- ทดลองใช้งาน Docker ใน Windows 10

1. เปิดใช้งาน WSL 2 Feature บน Windows
1.1 เปิด PowerShell ด้วยสิทธิ Administrator (หรือ คลิกขวาที่โปรแกรม Powershell แล้วกดเลือก `Run as Administration`)

![Powershell Terminal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xyvq9ntjid8huvk6ctq2.png)

รันคำสั่งข้างล่างนี้เพื่อเปิดใช้งาน “Windows Subsystem for Linux” โดยการก๊อปปี้คำสั่งด้านล่างไปวางตรงหน้าต่าง Powershell ที่แสดงขึ้นมา

`dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart`

เมื่อกด Enter แล้ว จะแสดงผลดังรูปด้านล่างนี้

![Windows Subsystem for Linux](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ptqcqmimfwwmsw19s6pg.png)

1.2 รันคำสั่งข้างล่างนี้เพื่อเปิดใช้งาน “Virtual Machine Platform”

`dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart`

![Virtual Machine Complete](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eh6m78h7hoocxjvrjtgw.png)

ถ้าสามารถติดตั้งเสร็จเรียบร้อย โปรแกรมจะขึ้นว่า "The operation complete successfully"

1.3 เมื่อเสร็จแล้ว สั่ง Restart Windows 1 ครั้งเพื่อเสร็จสิ้นการติดตั้ง WSL 2

1.4 เปิด Powershell อีกครั้งและรันคำสั่งข้างล่างนี้เพื่อปรับใช้ WSL 2 เป็นค่าเริ่มต้นเมื่อเรามีการติดตั้ง Linux Distribution

`wsl --set-default-version 2`

1.5 ในกรณีที่เราไม่ได้ Update Windows 10 เป็น Version 2004 จะเจอ Error แบบนี้เนื่องจากยังไม่รองรับ WSL 2

![Window 10 WSL Error](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/343wiwmxvmut48m7vkcg.png)

1.6 ถ้า Update Windows 10 เป็น Version 2004 แล้วก็จะพบว่าเราจะเจอคำแนะนำให้ Update Linux Kernel เพิ่มเติม โดยอัพเดทได้ตามนี้ 

**ดาวน์โหลด Linux kernel update package**
- ระบบ x64 : [Linux kernel](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)
- ระบบ ARM64: [ARM64 package](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi)

1.7 เมื่อ Update Linux Kernel เสร็จแล้ว ลองเปิด Powershell อีกและรันคำสั่งข้างล่างนี้อีกครั้งเพื่อปรับใช้ WSL 2 เป็นค่าเริ่มต้นเมื่อเรามีการติดตั้ง Linux Distribution

`wsl --set-default-version 2`

2. ดาวน์โหลด Docker สำหรับ Windows
คุณสามารถดาวน์โหลดไฟล์ สำหรับโปรแกรม Docker ได้ที่นี่ [link](https://docs.docker.com/desktop/install/windows-install/) 
และกดปุ่มตามภาพด้านล่าง เพื่อทำการ Download program `Docker Desktop Installer`

![Docker installer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wcpnipabj57znxn19v5q.png)

2.1 ติดตั้งไฟล์ `Docker Desktop Installer.exe`

2.2 รัน Setup File ตามขั้นตอนในภาพ

![Set up Docker](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j7zsoqzzjboaof481v0h.png)

2.3 เปิด Docker Desktop จาก `Start menu` 
จาก Docker Menu ให้ไปที่ Settings -> General เพื่อตรวจสอบว่า Docker ทำงานอยู่บน WSL 2 หรือไม่

![Correct Setup](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6eqgwm25lwf5bf8zl4w.png)

เมื่อถึงขึ้นตอนนี้ เป็นอันว่า "การติดตั้ง Docker บน Window เสร็จสมบูรณ์เรียบร้อยแล้ว"


**ขั้นตอนทดลองใช้งาน Docker**

คราวนี้มาถึงวิธีการเช็คว่า "เราสามารถใช้งาน Docker ได้แล้วจริง ๆ" สามารถใช้ `command` เช็คได้ทั้งบน Mac OS และ Window OS 

โดยการทดลองใช้งาน Docker ใน Windows เพื่อดูว่าใช้งานได้จริงโดยลองรัน `command` ผ่าน Terminal ของ Powershell จากข้อ 1.1 ด้วยคำสั่งเพื่อใช้ในการเช็ค Docker Version ด้วยคำสั่งตามด้านล่าง

`docker --version` 

ถ้าขึ้นตามภาพด้านล่าง แสดงว่า "ลงได้สำเร็จแล้ว"

![Done](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/81kcjqvptjsbg5xbec47.png)

หรือของ Mac OS ก็เช่นกัน
ให้เปิด Terminal บน Mac OS แล้วรันคำสั่งเดียวกัน `docker --version` ถ้าขึ้นตามภาพด้านล่าง แสดงว่า "ลงได้สำเร็จแล้วเช่นกันจ้า"

![Terminal Mac](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vbt3i1dhlm4vb3zcvxkf.png)

![Done](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pni49he1q8o94bvavrsa.png)

หลังจากการลง Docker อยากให้ทุกท่านได้ตั้งใจเรียน The Cloud Camp รอบ Audition และฝึกทำจริงให้จงได้เลยนะคะ ... ขอเป็นกำลังใจให้ทุกคนค่ะ :)