Trong hướng dẫn này, HQG sẽ nói cho bạn biết cách định cấu hình máy chủ Windows 2019 của mình để chạy Containers Docker. Docker là Ứng dụng chứa toàn bộ các mẫu thiết kế và triển khai microservices. Docker giúp bạn dễ dàng xây dựng, triển khai và chạy các hình ảnh chứa các ứng dụng có phần phụ thuộc của chúng và tránh các vấn đề khi sử dụng Máy chủ server ảo.

Docker engine là thứ cung cấp năng lượng cho các container docker. Ban đầu nó được viết cho Linux nhưng rất nhiều công việc đã được thực hiện để cho phép người dùng Windows và macOS chạy các Docker.

Một điều kiện tiên quyết là cài đặt một máy chủ Windows. Điều này có thể trên Máy ảo chạy tại chỗ, triển khai máy chủ Vật lý hoặc Cloud của HQG. 

Cách cài đặt Windows Server 2019 từng bước

Trước khi có thể sử dụng Bộ chứa Windows để chạy nhiều ứng dụng riêng biệt trong hệ thống của mình, bạn cần bật containers feature and install Docker Windows Server 2019.

Bước 1: Bật tính năng container trong Windows Server 2019

Bước đầu tiên là kích hoạt tính năng vùng chứa của Windows Server 2019. Mở PowerShell với tư cách Quản trị viên.

Chạy các lệnh sau.

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

Thao tác này sẽ cài đặt Docker-Microsoft PackageManagement Provider từ  PowerShell Gallery. 

Đầu ra mẫu như hình dưới đây:

Bước 2: Cài đặt Docker trên Windows Server 2019

sau khi container được bật trên Windows Server 2019, hãy cài đặt Ứng dụng và Công cụ Docker mới nhất bằng cách chạy lệnh bên dưới trong phiên PowerShell của bạn.

Install-Package -Name docker -ProviderName DockerMsftProvider

Đồng ý với cài đặt bằng cách sử dụng “Yes” hoặc “Y” hoặc “A” để Đồng ý với tất cả.

Khi quá trình cài đặt hoàn tất, hãy khởi động lại máy tính.

Restart-Computer -Force

Kiểm tra Phiên bản Docker bằng cách

Administrator> Get-Package -Name Docker -ProviderName DockerMsftProvider
Name Version Source ProviderName
---- ------- ------ ------------
docker 18.09.2 DockerDefault DockerMsftProvider

Điều tương tự có thể đạt được với docker –version lệnh.

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.

Nâng cấp có thể được thực hiện bất cứ lúc nào bằng cách chạy các lệnh sau trên PowerShell.

Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
Start-Service Docker

Bước 3: Chạy Docker Container

Khởi động Docker Daemon

Start-Service Docker

Sau khi khởi động dịch vụ Docker Engine, hãy tải xuống pre-created .NET được tạo trước từ sổ đăng ký Docker Hub:

docker pull microsoft / dotnet-samples: dotnetapp-nanoserver-1809

Sau đó, triển khai một vùng chứa đơn giản chạy ứng dụng .Net Hello World.

docker run microsoft/dotnet-samples:dotnetapp-nanoserver-1809

Vùng chứa sẽ bắt đầu, hiển thị thông báo hello world

Chạy vùng chứa Linux trên Windows Server 2019

Ngoài ra, Docker trên Windows chỉ chạy vùng chứa Windows. Để sử dụng vùng chứa Linux trên Windows Server, bạn cần sử dụng Bản xem trước Docker Enterprise Edition bao gồm hệ thống LinuxKit đầy đủ để chạy vùng chứa Docker Linux.

Gỡ cài đặt Docker CE hiện tại của bạn.

Uninstall-Package -Name docker -ProviderName DockerMSFTProvider

Bật Nested Virtualization nếu bạn đang chạy Bộ chứa Docker bằng Máy ảo Linux chạy trên Hyper-V.

Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $ true

Sau đó cài đặt bản dựng xem trước hiện tại của Docker EE.

Install-Module DockerProvider
Install-Package Docker -ProviderName DockerProvider -RequiredVersion preview

Bật hệ thống LinuxKit để chạy vùng chứa Linux

[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")

Khởi động lại Dịch vụ Docker sau khi thay đổi.

Restart-Service docker

Kéo hình ảnh docker thử nghiệm.

> 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

Để chuyển trở lại vùng chứa Windows đang chạy, hãy chạy:

[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "$null", "Machine")

Tận hưởng việc chạy vùng chứa Linux và Windows trên Windows Server 2019. Hãy để lại nhận xét cho chúng tôi trong trường hợp có bất kỳ vấn đề nào.