เรียกใช้คอนเทนเนอร์ Docker บน Windows Server 2019
ในบทช่วยสอนนี้ เราจะดูว่าคุณสามารถกำหนดค่าเซิร์ฟเวอร์ Windows 2019 ของคุณให้รันคอนเทนเนอร์ Docker ได้อย่างไร Docker เป็นผู้เปลี่ยนเกมในด้านคอนเทนเนอร์แอปพลิเคชัน รวมถึงการออกแบบไมโครเซอร์วิสและรูปแบบการใช้งานทั้งหมด Docker ทำให้ง่ายต่อการสร้าง จัดส่ง และเรียกใช้อิมเมจที่มีแอปพลิเคชันที่มีการขึ้นต่อกัน และหลีกเลี่ยงปัญหาการขึ้นต่อกันที่บ้าคลั่งซึ่งมักเกิดขึ้นกับการใช้เครื่องเสมือน
เครื่องยนต์นักเทียบท่าคือสิ่งที่ขับเคลื่อนคอนเทนเนอร์นักเทียบท่า เดิมเขียนขึ้นสำหรับ Linux แต่มีงานหลายอย่างเพื่อให้ผู้ใช้ Windows และ macOS สามารถเรียกใช้คอนเทนเนอร์ Docker ได้
ข้อกำหนดเบื้องต้นประการหนึ่งคือการติดตั้งเซิร์ฟเวอร์ Windows ซึ่งอาจเป็นบนเครื่องเสมือนที่ทำงานในองค์กร การปรับใช้เซิร์ฟเวอร์จริง หรืออินสแตนซ์คลาวด์ที่ทำงานใน Azure คุณสามารถดูคู่มือการติดตั้งของเราด้านล่าง
- วิธีการติดตั้ง Windows Server 2019 ทีละขั้นตอน
วิธีรัน Docker Containers บน Windows Server 2019
ก่อนที่คุณจะสามารถใช้ Windows Containers เพื่อรันแอปพลิเคชันที่แยกหลายตัวในระบบของคุณได้ คุณจะต้องเปิดใช้งานคุณสมบัติคอนเทนเนอร์และติดตั้ง Docker บน Windows Server 2019
ขั้นตอนที่ 1: เปิดใช้งานฟีเจอร์คอนเทนเนอร์ใน Windows Server 2019
ขั้นตอนแรกคือการเปิดใช้งานคุณสมบัติคอนเทนเนอร์ของ Windows Server 2019 เปิด PowerShell ในฐานะผู้ดูแลระบบ
รันคำสั่งต่อไปนี้
Install-Module -Name DockerMsftProvider -Repository PSGallery -Forceการดำเนินการนี้จะติดตั้ง Docker-Microsoft PackageManagement Provider จาก PowerShell Gallery
ผลลัพธ์ตัวอย่างมีดังต่อไปนี้:
ขั้นตอนที่ 2: ติดตั้ง Docker บน Windows Server 2019
เมื่อเปิดใช้งานฟีเจอร์คอนเทนเนอร์บน Windows Server 2019 แล้ว ให้ติดตั้ง Docker Engine และไคลเอ็นต์ล่าสุดโดยเรียกใช้คำสั่งด้านล่างในเซสชัน PowerShell ของคุณ
Install-Package -Name docker -ProviderName DockerMsftProviderเห็นด้วยกับการติดตั้งโดยใช้ "ใช่" หรือ "Y" หรือ "A" เพื่อยอมรับทั้งหมด
เมื่อการติดตั้งเสร็จสมบูรณ์ ให้รีบูทคอมพิวเตอร์
Restart-Computer -Forceสามารถตรวจสอบเวอร์ชัน Docker ที่ติดตั้งได้ด้วย:
Administrator> Get-Package -Name Docker -ProviderName DockerMsftProvider
Name Version Source ProviderName
---- ------- ------ ------------
docker 18.09.2 DockerDefault DockerMsftProvider
สามารถทำได้เช่นเดียวกันด้วยคำสั่ง docker --version
PS C:\Users\Administrator> docker version
Client:
Version: 18.09.2
API version: 1.39
Go version: go1.10.6
Git commit: 1ac774dfdd
Built: unknown-buildtime
OS/Arch: windows/amd64
Experimental: false
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/version: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.การอัพเกรดสามารถทำได้ทุกเมื่อโดยการรันคำสั่งต่อไปนี้บน PowerShell
Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
Start-Service Dockerขั้นตอนที่ 3: เรียกใช้คอนเทนเนอร์ Docker
เริ่มนักเทียบท่าภูต
Start-Service Dockerหลังจากเริ่มบริการ Docker Engine ให้ดาวน์โหลดอิมเมจตัวอย่าง .NET ที่สร้างไว้ล่วงหน้าจากรีจิสทรี Docker Hub:
docker pull mcr.microsoft.com/dotnet/samples:dotnetapp-nanoserver-2009คุณสามารถดึงรายการแท็กที่มีอยู่ทั้งหมดสำหรับ dotnet/samples ได้ที่ https://mcr.microsoft.com/v2/dotnet/samples/tags/list
จากนั้นปรับใช้คอนเทนเนอร์ธรรมดาที่รันแอปพลิเคชัน .Net Hello World
docker run mcr.microsoft.com/dotnet/samples:dotnetapp-nanoserver-2009คอนเทนเนอร์จะเริ่มทำงาน พิมพ์ข้อความสวัสดีชาวโลก จากนั้นจึงออก
การรัน Linux Containers บน Windows Server 2019
เมื่อแกะกล่อง Docker บน Windows จะใช้งานเฉพาะคอนเทนเนอร์ Windows เท่านั้น หากต้องการใช้คอนเทนเนอร์ Linux บน Windows Server คุณต้องใช้ Docker Enterprise Edition Preview ซึ่งมีระบบ LinuxKit เต็มรูปแบบสำหรับการรันคอนเทนเนอร์ Docker Linux
ถอนการติดตั้ง Docker CE ปัจจุบันของคุณ
Uninstall-Package -Name docker -ProviderName DockerMSFTProviderเปิดใช้งาน Nested Virtualization หากคุณใช้งาน Docker Containers โดยใช้ Linux Virtual Machine ที่ทำงานบน Hyper-V
Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true
จากนั้นติดตั้งรุ่นตัวอย่างปัจจุบันของ Docker EE
Install-Module DockerProvider
Install-Package Docker -ProviderName DockerProvider -RequiredVersion previewเปิดใช้งานระบบ LinuxKit เพื่อเรียกใช้คอนเทนเนอร์ Linux
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")เริ่มบริการ Docker ใหม่หลังจากการเปลี่ยนแปลง
Restart-Service dockerดึงอิมเมจนักเทียบท่าทดสอบ
> docker run -it --rm ubuntu /bin/bash
root@1440a7fef7e0:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
root@1440a7fef7e0:/# exit
exitหากต้องการเปลี่ยนกลับไปใช้คอนเทนเนอร์ Windows ที่ใช้งานอยู่ให้รัน:
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "$null", "Machine")เพลิดเพลินกับการใช้งานคอนเทนเนอร์ Linux และ Windows บน Windows Server 2019 ส่งความคิดเห็นถึงเราในกรณีที่มีปัญหาใด ๆ
หนังสือเพื่อการเรียนรู้การบริหาร Kubernetes:
- หนังสือศึกษา Kubernetes ที่ดีที่สุด
ตรวจสอบด้วย:
- วิธีติดตั้งแอพพลิเคชั่นจากบรรทัดคำสั่งของ Windows
- วิธีอนุญาต ICMP Echo Reply บน Windows Server 2019
- วิธีเปิดใช้งาน Remote Desktop Protocol (RDP) บน Windows Server 2019
- วิธีรัน Linux บน Windows Server 2019 ด้วย WSL


