Hướng dẫn trước ZingServer đã hướng dẫn cài đặt Docker trên Windows Server. Bây giờ đã đến lúc làm quen với các lệnh Docker hữu ích để chạy, quản lý, tạo container Docker và sử dụng các khả năng của Docker một cách hiệu quả. Sau đây, chúng tôi sẽ cung cấp một số hướng dẫn hữu ích để chạy và sử dụng Docker, giúp bạn có thể dễ dàng sử dụng các tính năng của Docker trong Windows Server cho các mục đích khác nhau.
Các lệnh cơ bản để quản lý container trong Docker
Chỉ định tên mới để khởi chạy vùng chứa mới, hãy sử dụng tùy chọn -name với Docker:
docker.exe container run --name [new container name][ Special images name]
Lựa chọn -d được sử dụng cùng với Docker để chạy container ở chế độ tách rời:
docker.exe container run -d [ Special images name]
Ví dụ:
docker.exe container run -d debian:latest
Để chạy container ở chế độ tương tác, lựa chọn -it được sử dụng cùng với Docker:
docker container run -it debian:latest /bin/bash
Kiểm tra trạng thái của container sau khi bắt đầu bằng cách chạy lệnh sau:
docker.exe ps -a
Cú pháp chính để khởi động docker container như sau:
docker container start container-name
Cú pháp chính để dừng docker container như sau:
docker container stop container-name
Xóa docker container bằng lệnh sau:
docker container rm container-name
Cách chạy Docker Container
Để chạy Docker Container, trước tiên hãy khởi chạy dịch vụ Docker bằng lệnh sau:
Start-Service Docker
Sau đó tải xuống container image cho máy chủ nano Docker dotnet:
docker pull mcr.microsoft.com/dotnet/samples:dotnetapp-nanoserver-2009
Sau khi bạn đã tải xuống image, đây là điều kiện tiên quyết để chạy container, bạn có thể chạy nó bằng image đã tải xuống bằng cách sử dụng lệnh sau:
docker run mcr.microsoft.com/dotnet/samples:dotnetapp-nanoserver-2009
Bạn cũng có thể bắt đầu phiên tương tác trong container bằng lệnh sau:
docker run -it mcr.microsoft.com/windows/servercore:ltsc2022 powershell
Để thoát khỏi phiên, hãy chạy lệnh sau:
exit
Cách chạy Docker Container bằng cách bảo toàn dữ liệu của nó
Tạo và sử dụng Persistent Storage, một thư mục chuyên dụng hoặc khối lượng Docker được chỉ định cho một đường dẫn cụ thể, giúp bạn chạy Docker Container trong khi vẫn giữ dữ liệu Docker Container. Để tạo Persistent Storage cho container data, bạn cần tạo đường dẫn:
mkdir C:\docker-container-storage
Kiểm tra quyền ghi trên nó bằng lệnh sau:
Write-Output 'Docker Persistent Storage Test' | Out-File -Encoding default C:\docker-container-storage\index.html
Để quay vùng chứa được tạo từ không gian lưu trữ và nội dung của C:\disk01 trong vùng chứa tới C:\docker-container-storage của hệ thống, hãy sử dụng lệnh sau:
docker run -it -v C:\docker-container-storage:C:\disk01mcr.microsoft.com/windows/servercore:ltsc2022
Cách chạy Linux Container trên Windows Server
Enterprise Edition Preview hỗ trợ chạy Linux Container bằng cách cung cấp hệ thống LinuxKit. Để chạy Linux Container, bước đầu tiên là gỡ bỏ Windows Docker engine và cài đặt Docker cho Linux:
Uninstall-Package -Name docker -ProviderName DockerMSFTProvider
Install-Module DockerProvider
Install-Package Docker -ProviderName DockerProvider -RequiredVersion preview
Sau đó kích hoạt hệ thống LinuxKit để chạy các bộ chứa Linux:
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
Bắt đầu dịch vụ Docker:
Restart-Service docker
Để chạy Linux Container hãy nhập lệnh sau để tải xuống image của Ubuntu Container mới nhất, tạo Container dựa trên nó và kết nối nó với vỏ Container shell:
docker run -it --rm ubuntu /bin/bash
Lệnh trước đó được thực thi cho Ubuntu Container. Để xác minh phiên bản Ubuntu, bây giờ bạn nên thêm các lệnh sau vào container mới được tạo:
cat /etc/os-release
Output:
NAME="Ubuntu"
VERSION="22.04.1 LTS (Jammy Jellyfish )"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 22.04.1 LTS"
VERSION_ID="22.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=Jammy Jellyfish
UBUNTU_CODENAME=Jammy Jellyfish
Cách xây dựng Docker Images
DockerFiles thường được sử dụng để tạo Docker Images. Do đó, việc tạo Docker Images yêu cầu tạo DockerFile. Với mục đích này, trước tiên bạn phải tạo một thư mục đặc biệt cho DockerFile bằng các lệnh sau:
mkdir docker-file
cd docker-file
Chúng tôi sẽ sử dụng một ví dụ để hiểu rõ hơn. Ví dụ: tạo một Dockerfile tùy chỉnh cho kiểm tra IIs:
$str_file = @"
FROM mcr.microsoft.com/windows/servercore:ltsc2022
MAINTAINER OperaVPS.com
RUN dism.exe /online /enable-feature /all /featurename: iistest /NoRestart
RUN echo Dockerfile test example > C:\inetpub\wwwroot\index.html
EXPOSE 80
CMD [ "cmd" ]
Xuất các giá trị mong muốn sang tệp bằng cách chạy lệnh sau:
$str_file | Out-File Dockerfile -Encoding Default
Sau đó chạy lệnh sau để xây dựng docker image:
docker build . -t iistest:latest
Sau một thời gian, việc tạo Docker container tùy chỉnh sẽ hoàn tất và bạn sẽ tạo thành công iistest Docker Images. Sử dụng thử nghiệm này, bạn có thể quay một container mới. Vì chúng tôi đã xây dựng Docker Image II mới của mình, giờ đây có thể sử dụng Docker Images đó để tạo ra một container IIs thực có chứa các tùy chỉnh được thêm bằng tệp docker cũng như các tệp chúng tôi muốn.
=>> Cách cài đặt Xampp trên VPS Windows
Cách kéo Windows Container Image cho Docker
Chạy lệnh sau để kéo Windows container cho Docker:
docker pull [image-name]
hoặc:
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
Hướng dẫn quản lý mạng Docker
Với sự trợ giúp của các tính năng Docker, bạn có thể quản lý các mạng trong Docker trên VPS Windows. Nghĩa là kiểm soát giao tiếp của các container trong Docker với nhau và với thế giới bên ngoài. Sau đây, chúng tôi sẽ giới thiệu một số lệnh để quản lý mạng trong Docker:
- Xem các mạng khả dụng trong Docker:
docker network ls
- Nhận thêm thông tin về một mạng cụ thể:
docker network inspect [network name]
- Kết nối container với mạng mong muốn của bạn:
docker network connect [network name] [container name]
- Tạo một mạng mới bằng trình điều khiển NAT (vì các container được kết nối với mạng NAT theo mặc định):
docker network create [network name] -d "nat"
- Xóa mạng:
docker network rm [network name]
- Xóa tất cả các mạng mà container không được kết nối:
docker network prune
Docker là một công cụ hiệu quả dành cho các nhà phát triển để phát triển nhanh và có thể mở rộng. Khả năng của Docker tăng tốc đáng kể việc cung cấp và triển khai ứng dụng. Do đó, sử dụng Docker là một lợi thế cho các nhà phát triển trong việc tăng cường và đẩy nhanh chu kỳ phát triển. Ngoài ra, Windows Server cung cấp một nền tảng an toàn và hiệu quả cho các nhà phát triển bằng cách hỗ trợ Docker và các tính năng của nó. Windows cũng cung cấp các tính năng chạy các Windows container và Linux container để đáp ứng các nhà phát triển. Truy cập zingserver.com để biết thêm nhiều thông tin thú vị xoay quanh VPS Windows/Linux. Cảm ơn đã theo dõi bài viết!