ใน part 1 เราได้รู้จักของ Container กันมาแล้ว คราวนี้เราจะลงมือสร้าง Windows Container กัน ขั้นตอนไม่ยากมี 4 ขั้นตอนหลัก เน้นทำตามภาพประกอบ ดังนี้
- Download Windows Server 2016
- ติดตั้ง Windows Server 2016 ลงบน VM โดยลงเป็น Server Core
- Enable Feature Container
- Download base image ของ Windows Server Core
เรามาลงมือทำกันเลย!!
- Download Windows Server 2016 กดที่นี่ ให้เลือก Windows Server 2016 อันนี้เป็น Evaluation จะใช้ได้ 180 วัน โดยเราต้องลงทะเบียนเพื่อ download
- Container เป็น Feature บน Windows Server ดังนั้น เราต้องสร้าง Windows Server ขึ้นมาก่อน แนะนำให้สร้างเป็น VM โดยเราจะใช้ Hyper-V, VMware, Oracle VM หรืออะไรที่สะดวกก็ได้ ในกรณีของผม ใช้ Oracle VM เลือก Guest เป็น Windows 10 มี Minimum hardware Requirement ที่แบ่งให้ VM ตามนี้
CPU | 1 core |
RAM | 1 GB |
Disk | 25 GB |
Network Card | Wifi หรือ สาย LAN ก็ได้
เครื่องต้องต่อกับ Internet |
3. ลง Windows ตามภาพ
– เริ่มลง Windows
– กด Install Now
– หน้านี้ เนื่องจาก Evaluation เราไม่มี Product Key ก็ไม่ต้องใส่ กดตามภาพ
– เลือก Windows Server 2016 Standard Technical Preview 5 (Desktop Experience)
ขั้นตอนนี้ก็ปล่อยให้มันลงจนจบ
4. สร้าง Password ของ Administrator
เมื่อลง Windows เสร็จแล้วจะได้จอนี้ ก็กด Ctrl+Alt+Del เพื่อ Logon เข้า Windows เราจะใช้ Script Powershell นี้เพื่อความสะดวกในการสร้าง Container
# This script is from MSDN | |
Install-WindowsFeatures Containers | |
#Download docker service and client | |
Invoke-WebRequest "https://get.docker.com/builds/Windows/x86_64/docker-1.12.1.zip" -OutFile "$env:TEMP\docker-1.12.1.zip" -UseBasicParsing | |
# Put docker to \Program Files\docker | |
Expand-Archive -Path "$env:TEMP\docker-1.12.1.zip" -DestinationPath $env:ProgramFiles | |
$env:path += ";c:\program files\docker" | |
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine) | |
& $env:ProgramFiles\docker\dockerd.exe --register-service | |
Start-Service docker |
ทำตาม step ในภาพ
ถึงตอนนี้ เราสร้างเครื่อง Windows Container พร้อมกับติดตั้ง base image ของ Windows Server Core เสร็จแล้ว
5. ทดลองเปิด Windows Container เพื่อทดสอบว่า docker ใช้งานได้แล้ว
– ทำตามภาพเลย คำสั่ง docker ps –a เพื่อดูว่ามี image run อยู่หรือไม่ สังเกตุตรง column “status”
– ให้สังเกตุตรง hostname ว่าตัว host ของ container มีชื่ออะไร เมื่อเรา run image จะเห็นมันเป็นคนละเครื่องกัน
-อธิบายคำสั่ง
docker ps -a เพื่อขอดูว่ามี container อะไรกำลัง run อยู่ โดยเราเพิ่ม parameter -a ไปด้วยเพื่อให้แสดงทั้งที่ run และ stop ไปแล้ว
docker run -it –name myCore <image ID> <คำสั่งที่การ run ใน container> อันนี้เราให้ docker start container ขึ้นมา run โดยใช้ image windowsservercore แต่แทนที่จะเรียกชื่อ เราใช้ Image ID แทน
- ตอนนี้เราอยู่ใน container แล้ว คำสั่ง hostname จะแสดงว่ามันเป็นคนละชื่อกัน
– กด Ctrl+P+Q เพื่อกลับไปที่ host ใช้คำสั่ง docker ps –a จะเป็นว่า status เครื่อง container ของเรากำลัง run อยู่
– เราปิดเครื่อง และขอจบตอนนี้ตรงนี้
สรุป
เราได้สร้างเครื่อง Windows Container ขึ้นมาแล้ว และทดลอง run image ตอนต่อไปจะเป็นการใช้งาน Windows Container