วิธีการติดตั้ง 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 สำหรับ Command ต่าง ๆ ดูได้ที่ https://docs.docker.com/engine/reference/run/ ครับ **Image ที่ทดสอบลงให้ดูไม่สามารถใช้ทำอะไรได้นะครับ สำหรับการใช้งานจริงก็จะประมาณสั่ง Run + Option ต่าง ๆ เพื่อบอกว่าให้ทำอะไร ซึ่งจะยกตัวอย่างใน Blog ถัด

Read More »