วิธีการติดตั้ง Docker บน Windows Server 2016

“อยากติดตั้ง Docker บน Windows Server 2016 ทำอย่างไร”

         Feature ใหม่ของ Windows Server 2016 คือการใช้งาน Docker ที่สมบูรณ์มากขึ้น โดยใช้การจัดการผ่าน PowerShell Command แต่ยังไงก็ตามก็ยังไม่พ้นหน้าจอฟ้า ๆ ที่ใช้ในการติดตั้ง และตรวจสอบสถานะต่าง ๆ แต่เนื่องด้วยการรองรับที่สมบูรณ์มากขึ้น การใช้งานก็จะมีประสิทธิภาพไม่แตกต่างจากการรันบนระบบปฎิบัติอื่น ๆ เหมาะกับการนำมาใช้เพื่อลดการบริโภคทรัพยากร ช่วยให้ใช้สมรรถนะของเครื่อง Server เต็มประสิทธิภาพ และเหมาะสำหรับการใช้งาน Application ที่แตกตัวเพิ่มได้ตามจำนวนการใช้งานที่เพิ่มขึ้น จุดเด่นที่สำคัญอีกจุดคือ Windows Nano Server สำหรับผู้อยากใช้งาน Windows Server Container Image ขนาดเล็ก ซึ่งจะเขียนในหัวข้อต่อ ๆ ไปครับ

วิธีการติดตั้ง (Windows Server 2016)

*Ref : https://docs.microsoft.com/th-th/virtualization/windowscontainers/quick-start/quick-start-windows-server

  • ทำการติดตั้ง OneGet PowerShell Module (ให้รันบน PowerShell ที่ Run As Administrator) 
  • เมื่อขึ้นถามว่าจะติดตั้งหรือไม่ .ให้กด Y ตามด้วย Enter
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

  • จากนั้นใช้ OneGet ในการติดตั้ง Docker Version ล่าสุด
  • เมื่อขึ้นถามว่าจะติดตั้งหรือไม่ กด A ตามด้วย Enter
Install-Package -Name docker -ProviderName DockerMsftProvider

  • จากนั้นทำการ Restart เครื่อง
  • หลังจาก Restart มาจะเห็นว่าสามารถใช้คำสั่ง Docker บน Powershell ได้แล้วดังนี้

*หมายเหตุ : ในกรณีที่รันแล้ว error เกี่ยวกับ open //./pipe/docker_engine ให้เปิด firewall port 2375 ผ่าน powershell ที่รันด้วย administrator ดังนี้

# Open firewall port 2375
netsh advfirewall firewall add rule name="docker engine" dir=in action=allow protocol=TCP localport=2375

# Configure Docker daemon to listen on both pipe and TCP (replaces docker --register-service invocation above)
Stop-Service docker
dockerd --unregister-service
dockerd -H npipe:// -H 0.0.0.0:2375 --register-service
Start-Service docker
  • สำหรับการติดตั้ง Image ต่าง ๆ ถ้าไม่ได้ทำ Image เองสามารถหาจาก Docker Hub ได้ โดยขอยกตัวอย่าง Image ที่เป็น .net core ที่รันอยู่บน Nano Server ดังนี้
docker run microsoft/dotnet-samples:dotnetapp-nanoserver

**Image ที่ทดสอบลงให้ดูไม่สามารถใช้ทำอะไรได้นะครับ สำหรับการใช้งานจริงก็จะประมาณสั่ง Run + Option ต่าง ๆ เพื่อบอกว่าให้ทำอะไร ซึ่งจะยกตัวอย่างใน Blog ถัด ๆ ไป อันนี้แค่ติดตั้ง Docker เพื่อใช้งานอย่างเดียวครับ