Giới thiệu ngắn gọn về vùng chứa Windows. Làm cách nào để đóng gói một ứng dụng trong vùng chứa Docker? Ảo hóa vùng chứa Windows

Bộ chứa trong Microsoft Windows Server 2016 là phần mở rộng khả năng của công nghệ dành cho khách hàng. Microsoft lên kế hoạch phát triển, triển khai và lưu trữ ứng dụng trong vùng chứa cho khách hàng như một phần của quy trình phát triển của họ.

Khi tốc độ triển khai ứng dụng tiếp tục tăng nhanh và khách hàng sử dụng triển khai phiên bản ứng dụng hàng ngày hoặc thậm chí hàng giờ, khả năng triển khai nhanh chóng các ứng dụng được xác thực từ bàn phím của nhà phát triển đến sản xuất là rất quan trọng đối với sự thành công của doanh nghiệp. Quá trình này được tăng tốc bởi các container.

Trong khi các máy ảo có chức năng di chuyển các ứng dụng trong trung tâm dữ liệu, sang đám mây và hơn thế nữa, các tài nguyên ảo hóa được mở khóa thêm bằng các bộ chứa sử dụng ảo hóa hệ điều hành (Phần mềm hệ thống). Giải pháp này, nhờ ảo hóa, sẽ cho phép phân phối ứng dụng nhanh chóng.

Công nghệ Windows Container bao gồm hai loại container khác nhau, Windows Server Container và Hyper-V Container. Cả hai loại vùng chứa đều được tạo, quản lý và hoạt động giống hệt nhau. Họ thậm chí còn sản xuất và tiêu thụ cùng một container image. Chúng khác nhau ở mức độ cô lập được tạo ra giữa vùng chứa, hệ điều hành máy chủ và tất cả các vùng chứa khác chạy trên máy chủ.

Bộ chứa máy chủ Windows: Nhiều phiên bản vùng chứa có thể chạy đồng thời trên một máy chủ với khả năng cách ly được cung cấp thông qua không gian tên, quản lý tài nguyên và công nghệ cách ly quy trình. Bộ chứa Windows Server có cùng lõi nằm trên máy chủ.

Bộ chứa Hyper-V: Nhiều phiên bản vùng chứa có thể chạy đồng thời trên một máy chủ. Tuy nhiên, mỗi vùng chứa được triển khai bên trong một máy ảo chuyên dụng. Điều này cung cấp sự cách ly cấp độ kernel giữa mỗi bộ chứa Hyper-V và bộ chứa máy chủ.

Microsoft đã đưa vào tính năng vùng chứa một bộ công cụ Docker để quản lý không chỉ các vùng chứa Linux mà còn cả các vùng chứa Windows Server và Hyper-V. Là một phần của sự cộng tác trong cộng đồng Linux và Windows, trải nghiệm Docker đã được mở rộng bằng cách tạo mô-đun PowerShell cho Docker, hiện là nguồn mở cho Docker. Mô-đun PowerShell có thể quản lý các bộ chứa Linux và Windows Sever cục bộ hoặc từ xa bằng công nghệ API Docker REST. Các nhà phát triển hài lòng với việc đổi mới cho khách hàng sử dụng mã nguồn mở để phát triển nền tảng của chúng tôi. Trong tương lai, chúng tôi có kế hoạch mang đến cho khách hàng những công nghệ cùng với những cải tiến như Hyper-V.

Mua Windows Server 2016

Chúng tôi cung cấp cho bạn mua Windows Server 2016 với mức chiết khấu từ Đối tác chính thức của Microsoft tại Nga - Công ty DATASYSTEMS. Bạn sẽ có cơ hội nhận được lời khuyên cũng như tải xuống Windows Server 2016 miễn phí để thử nghiệm bằng cách liên hệ với các chuyên gia hỗ trợ kỹ thuật của chúng tôi. Giá Windows Server 2016 theo yêu cầu. Bạn có thể nhận được lời đề nghị thương mại để tham gia mua Windows Server 2016 theo yêu cầu qua e-mail:

Vào tháng 3 năm 2013, Soloman Hikes tuyên bố bắt đầu một dự án nguồn mở mà sau này được gọi là Docker. Trong những tháng tiếp theo, nó nhận được sự ủng hộ mạnh mẽ từ cộng đồng Linux và vào mùa thu năm 2014, Microsoft đã công bố kế hoạch triển khai các bộ chứa trong Windows Server 2016. WinDocks, một công ty do tôi đồng sáng lập, đã phát hành một phiên bản độc lập của Docker nguồn mở dành cho Windows vào đầu năm 2016, tập trung vào hỗ trợ vùng chứa hạng nhất trong SQL Server. Container đang nhanh chóng trở thành tâm điểm chú ý trong ngành. Trong bài viết này, chúng ta sẽ xem xét các vùng chứa và cách sử dụng chúng của các nhà phát triển và DBA SQL Server

Nguyên tắc tổ chức container

Bộ chứa xác định một phương pháp đóng gói ứng dụng mới, kết hợp với cách ly người dùng và quy trình, cho các ứng dụng có nhiều người thuê. Nhiều cách triển khai bộ chứa khác nhau cho Linux và Windows đã tồn tại trong nhiều năm, nhưng với việc phát hành Windows Server 2016, chúng tôi đã có một tiêu chuẩn Docker trên thực tế. Ngày nay, API Docker và định dạng vùng chứa được hỗ trợ trên các bản phân phối AWS, Azure, Google Cloud, tất cả Linux và Windows có sẵn công khai. Cấu trúc thanh lịch của Docker có những ưu điểm quan trọng.

  • Tính di động. Vùng chứa chứa các phần phụ thuộc của phần mềm ứng dụng và chạy không thay đổi trên máy tính xách tay của nhà phát triển, máy chủ thử nghiệm dùng chung và bất kỳ dịch vụ công cộng nào.
  • Hệ sinh thái container. API Docker là ngôi nhà của những đổi mới trong ngành với các giải pháp giám sát, ghi nhật ký, lưu trữ dữ liệu, điều phối cụm và quản lý.
  • Tương thích với các dịch vụ công cộng Các thùng chứa được thiết kế cho kiến ​​trúc vi dịch vụ, mở rộng quy mô và khối lượng công việc nhất thời. Các thùng chứa được thiết kế sao cho có thể gỡ bỏ và thay thế nếu muốn, thay vì phải vá hoặc nâng cấp.
  • Tốc độ và tiết kiệm. Phải mất vài giây để tạo vùng chứa; hỗ trợ hiệu quả cho nhiều thuê bao được cung cấp. Đối với hầu hết người dùng, số lượng máy ảo giảm từ 3 đến 5 lần (Hình 1).

Vùng chứa máy chủ SQL

SQL Server đã hỗ trợ chế độ nhiều đối tượng được đặt tên trong 10 năm, vậy giá trị của bộ chứa SQL Server là bao nhiêu?

Thực tế là các bộ chứa SQL Server thực tế hơn do tốc độ và khả năng tự động hóa của chúng. Vùng chứa SQL Server là các phiên bản được đặt tên, với dữ liệu và cài đặt được cung cấp trong vòng vài giây. Khả năng tạo, xóa và thay thế các bộ chứa SQL Server chỉ trong vài giây giúp chúng trở nên thiết thực hơn cho việc phát triển, đảm bảo chất lượng và các trường hợp sử dụng khác được thảo luận bên dưới.

Tốc độ và tính tự động hóa của các bộ chứa SQL Server khiến chúng trở nên lý tưởng cho việc phát triển sản xuất và môi trường QA. Mỗi thành viên trong nhóm chạy các vùng chứa riêng biệt trong một máy ảo dùng chung, giúp giảm số lượng máy ảo từ 3 đến 5 lần. Kết quả là chúng tôi tiết kiệm được đáng kể chi phí bảo trì máy ảo và chi phí giấy phép của Microsoft. Các thùng chứa có thể dễ dàng tích hợp vào mảng mạng vùng lưu trữ (SAN) bằng cách sử dụng bản sao lưu trữ và bản sao cơ sở dữ liệu (Hình 2).

Cơ sở dữ liệu được kết nối 1TB được tạo trên phiên bản vùng chứa trong vòng chưa đầy một phút. Đây là một cải tiến đáng kể so với các máy chủ có phiên bản được đặt tên chuyên dụng hoặc cung cấp máy ảo cho từng nhà phát triển. Một công ty sử dụng máy chủ tám lõi để phục vụ tối đa 20 bộ chứa SQL Server 400 GB. Trước đây, mỗi máy ảo mất hơn một giờ để cung cấp và các phiên bản vùng chứa được cung cấp trong hai phút. Như vậy, có thể giảm số lượng máy ảo xuống 20 lần, giảm số lượng lõi xử lý xuống 5 lần và giảm mạnh chi phí trả cho giấy phép của Microsoft. Ngoài ra, tính linh hoạt và khả năng đáp ứng của doanh nghiệp đã tăng lên.

Sử dụng bộ chứa máy chủ SQL

Vùng chứa được xác định bằng cách sử dụng tập lệnh Dockerfile, tập lệnh này cung cấp các bước cụ thể để xây dựng vùng chứa. Dockerfile được hiển thị trong Hình 1 chỉ định SQL Server 2012 với cơ sở dữ liệu được sao chép vào vùng chứa và tập lệnh SQL Server để che các bảng đã chọn.

Mỗi vùng chứa có thể chứa hàng tá cơ sở dữ liệu với các tệp nhật ký và hỗ trợ. Cơ sở dữ liệu có thể được sao chép và chạy trong vùng chứa hoặc được gắn kết bằng lệnh MOUNTDB.

Mỗi vùng chứa chứa một hệ thống tệp riêng, tách biệt với tài nguyên máy chủ. Trong ví dụ ở Hình 2, vùng chứa được xây dựng bằng MSSQL-2014 và Venture.mdf. Một ContainerID và cổng container duy nhất được tạo.


Màn hình 2. Vùng chứa dựa trên SQL Server 2014 và Venture.mdf

Bộ chứa SQL Server cung cấp mức hiệu suất và tự động hóa mới nhưng hoạt động của chúng hoàn toàn giống với các không gian được đặt tên thông thường. Quản lý tài nguyên có thể được triển khai bằng công cụ SQL Server hoặc thông qua giới hạn tài nguyên vùng chứa (Hình 3).

Ứng dụng khác

Vùng chứa là phương tiện phổ biến nhất để tổ chức môi trường phát triển và QA, nhưng các ứng dụng khác đang nổi lên. Thử nghiệm khắc phục thảm họa là một trường hợp sử dụng đơn giản nhưng đầy hứa hẹn. Những thứ khác bao gồm việc chứa môi trường SQL Server nội bộ cho các ứng dụng cũ như SAP hoặc Microsoft Dynamics. Phần phụ trợ được đóng gói được sử dụng để cung cấp môi trường làm việc để hỗ trợ và bảo trì liên tục. Các thùng chứa đánh giá cũng được sử dụng để hỗ trợ môi trường sản xuất có kho dữ liệu liên tục. Trong một bài viết sau tôi sẽ nói chi tiết về dữ liệu liên tục.

WinDocks nhằm mục đích làm cho việc sử dụng các thùng chứa trở nên dễ dàng hơn thông qua giao diện web. Một dự án khác tập trung vào việc di chuyển các vùng chứa SQL Server trong quy trình DevOps hoặc Tích hợp liên tục với các quy trình CI/CD dựa trên Jenkins hoặc Team City. Hôm nay, bạn có thể trải nghiệm việc sử dụng vùng chứa trên tất cả các phiên bản Windows 8 và Windows 10, Windows Server 2012 hoặc Windows Server 2016 với sự hỗ trợ cho tất cả các phiên bản bắt đầu bằng SQL Server 2008 bằng cách sử dụng bản sao WinDocks Community Edition của bạn (https://www.windocks.com /cộng đồng-docker-windows).

Làm cách nào để đóng gói một ứng dụng trong vùng chứa Docker?

Tôi có một ứng dụng được viết bằng NodeJS. Làm cách nào tôi có thể gói nó vào hình ảnh Docker để chạy dưới dạng vùng chứa?

Docker là một hệ thống quản lý vùng chứa dành cho các hệ điều hành tương thích POSIX (hiện được Linux hỗ trợ). Một tính năng đặc biệt của Docker là khả năng đóng gói một ứng dụng với tất cả môi trường cần thiết để nó có thể chạy trên hệ thống khác mà không cần các quy trình dài và phức tạp để cài đặt các phụ thuộc hoặc xây dựng từ các nguồn. Ứng dụng đóng gói sẵn sàng triển khai được gọi là "hình ảnh". Hình ảnh Docker dựa trên "mẫu" - môi trường làm việc được định cấu hình sẵn. Bạn có thể coi đây là bản phân phối hệ điều hành, mặc dù điều này không hoàn toàn đúng. Bạn cũng có thể tạo mẫu của riêng mình bằng cách xem lại tài liệu Docker. Ưu điểm của phương pháp này là hình ảnh ứng dụng của bạn sẽ chỉ chứa chính ứng dụng đó và môi trường cần thiết cho ứng dụng đó sẽ được tự động tải xuống từ kho lưu trữ mẫu. Docker hơi gợi nhớ đến chroot hoặc bsd jail, nhưng hoạt động khác.

Điều quan trọng là phải phân biệt giữa các khái niệm “vùng chứa” và “hình ảnh”. Vùng chứa là bản sao đang chạy của ứng dụng của bạn và hình ảnh là tệp trong đó ứng dụng được lưu trữ và từ đó vùng chứa được tạo.

Giả sử bạn có một ứng dụng NodeJS mà bạn muốn chứa. Giả sử rằng tệp chạy ứng dụng của bạn có tên là server.js và ứng dụng sẽ lắng nghe trên cổng 8000 để hoạt động. Chúng tôi sẽ sử dụng "node:carbon" làm mẫu. Để chứa ứng dụng của bạn, bạn cần tạo một tệp “Dockerfile” trong thư mục chứa các tệp ứng dụng của bạn, tệp này sẽ mô tả các tham số chuẩn bị hình ảnh:

$ touch Dockerfile

Nội dung của tập tin có thể giống như thế này:

# Chỉ định mẫu để sử dụng TỪ nút:carbon # Tạo thư mục làm việc của ứng dụng bên trong vùng chứa WORKDIR /usr/src/app # Cài đặt các phần phụ thuộc của ứng dụng bằng npm # Cả hai tệp pack.json và package-lock.json đều được sao chép, nếu có SAO CHÉP package*.json ./ RUN npm install # Sao chép các tệp ứng dụng của bạn vào hình ảnh COPY . . # Mở cổng 8000 để có thể truy cập từ bên ngoài container EXPOSE 8000 # Thực thi lệnh chạy ứng dụng bên trong container CMD [ "npm", "start" ]

Để loại trừ các tệp không cần thiết khỏi hình ảnh, bạn có thể liệt kê tên của chúng trong tệp ".dockerignore". Bạn có thể sử dụng mặt nạ (*.log).

Hình ảnh được xây dựng bằng lệnh sau:

$ docker build -t tên người dùng/node-web-app .

$ hình ảnh docker # Ví dụ ID THẺ REPOSITORY TẠO nút carbon 1934b0b038d1 5 ngày trước tên người dùng/node-web-app mới nhất d64d3505b0d2 1 phút trước

Vùng chứa được khởi chạy từ hình ảnh bằng lệnh sau:

$ docker run -p 49160:8000 -d tên người dùng/node-web-app

Ví dụ này tạo một vùng chứa từ hình ảnh "username/node-web-app" và chạy nó ngay lập tức. Cổng ứng dụng 8000 có sẵn trên máy cục bộ (localhost) và để có thể truy cập được “bên ngoài”, nó được “chuyển tiếp” sang cổng 49160. Bạn có thể chọn bất kỳ cổng trống nào, ngoài ra, có thể chuyển tiếp ứng dụng cổng “nguyên trạng” bằng cách chỉ định tùy chọn " -p 8000:8000".

Bạn có thể thấy vùng chứa của mình đang chạy bằng cách nhập lệnh:

$ docker ps # Ví dụ ID HÌNH ẢNH LỆNH ... PORTS ecce33b30ebf tên người dùng/node-web-app: npm mới nhất bắt đầu ... 49160->8000

Một vùng chứa có thể được quản lý bằng nhiều lệnh khác nhau bằng cách chỉ định ID của vùng chứa này:

$ docker tạm dừng ecce33b30ebf - tạm dừng vùng chứa có ID ecce33b30ebf
$ docker sơ yếu lý lịch ecce33b30ebf - tiếp tục vùng chứa có ID ecce33b30ebf
$ docker stop ecce33b30ebf - dừng container có ID ecce33b30ebf
$ docker rm ecce33b30ebf - xóa vùng chứa (thao tác này sẽ xóa tất cả dữ liệu được tạo bởi ứng dụng bên trong vùng chứa)

Mọi chuyện đã kết thúc rồi! Hoặc là những lời cầu nguyện đã giúp ích hoặc là hy sinh, nhưng giờ đây bạn có thể chạy các vùng chứa Docker có Windows bên trong. Tin tuyệt vời đã đến cùng với việc phát hành Windows Server 2016. Và chúng tôi không nói về một số máy ảo được ẩn khéo léo hoặc mô phỏng Windows trên nhân Linux - Windows thực chạy trong Docker thực, với Dockerfile, docker-compose và Docker đang chạy chất liệu .

Những hạn chế

Nhưng điều này không có nghĩa là bây giờ bạn có thể chạy bất kỳ vùng chứa nào ở bất kỳ đâu. Do các bộ chứa Docker “mượn” kernel hệ điều hành từ máy chủ của chúng (nếu không chúng sẽ phải có hệ điều hành riêng và biến thành máy ảo), các bộ chứa Windows chỉ có thể chạy trên Bản cập nhật kỷ niệm Windows 10 Pro mới nhất và Máy chủ Windows 2016.

Điểm thứ hai là vẫn không thể chạy bộ chứa Linux gốc trên Windows. Bản cập nhật kỷ niệm có hệ thống con Linux riêng (chẳng hạn như bạn có thể chạy Bash thực), nhưng nó không hỗ trợ nhân Linux chính thức, do đó, cùng một bộ chứa với Ubuntu trên Windows vẫn cần một máy ảo ẩn.

Cuối cùng, bạn có thể chạy cả hai vùng chứa trên máy Windows cùng lúc nhưng gặp một số khó khăn. Nếu bạn chạy lệnh này trên Windows Server 2016 có cài đặt Docker (một năm trước tôi đã gọi đây là phép thuật phù thủy), nó sẽ hoạt động:

Nhưng nếu sau lệnh này mà bạn cố gắng khởi chạy một thùng chứa Ubuntu, Docker sẽ cảm thấy buồn:

Vấn đề là các bộ chứa Windows và Linux được phục vụ bởi các daemon Docker khác nhau, tuy nhiên, chúng sử dụng cùng một kênh để giao tiếp với dòng lệnh. Nghĩa là tại bất kỳ thời điểm nào cũng chỉ có một con quỷ có thể hoạt động. Có một phiên bản beta “Docker for Windows” trên trang web Docker chính thức cố gắng giải quyết vấn đề (hiện chỉ có trên Windows 10 Pro và Enterprise). Nhưng ngay cả với nó, để chuyển từ vùng chứa Windows sang Linux, bạn cần phải vào menu cài đặt hoặc giao tiếp bằng dòng lệnh:

PowerShell

& "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

& "C:\Program Files\Docker\Docker\DockerCli.exe"-SwitchDaemon

Hình ảnh Windows

Cho đến nay chỉ có hai hình ảnh cơ bản với Windows được đóng gói:

Bạn không thể tạo hình ảnh cơ bản của riêng mình (hình ảnh vết xước).

Hình ảnh Windows Server Core nặng tới 10 gigs và thường hoạt động giống như một Windows Server 2016 chính thức. Ví dụ: MS SQL và .NET Framework chính thức được cài đặt ở đó mà không gặp vấn đề gì. Nếu ứng dụng của bạn không phụ thuộc nhiều vào UI thì nó sẽ được cài đặt.

Nano Server thú vị hơn một chút. Đó là một Windows Server được tối ưu hóa cao và đơn giản, nặng chưa đến một gig. Nhưng cũng có đủ hạn chế: không có ứng dụng 32-bit, UI, RDP, PowerShell cắt nhỏ, v.v. Nhưng điều này không ngăn cản bạn cài đặt cùng IIS, .NET Core và thậm chí một số MySQL trên Nano Server.

Và ai có thể tưởng tượng cách đây vài năm rằng trong Dockerfile, bạn có thể tìm thấy “Microsoft”, “Windows” và “PowerShell” cùng một lúc?

TỪ microsoft/windowsservercore CHẠY powershell -Command....

TỪ microsoft/windowsservercore

CHẠY powershell - Lệnh . . . .

Đó là Windows trong Docker! Nghe vẫn vô lý.

Mức độ cách nhiệt

Các thùng chứa Windows có thể chạy ở hai chế độ cách ly:

  • Bộ chứa máy chủ Windows
  • Bộ chứa Hyper-V

Trong chế độ Windows đầu tiên, các bộ chứa hoạt động giống như tất cả các bộ chứa khác trong Docker: chúng chia sẻ một kernel chung với hệ điều hành, các tiến trình bộ chứa bị cô lập nhưng vẫn hiển thị trong cây tiến trình máy chủ, v.v. Đây là cách mặc định và nhanh nhất để khởi động vùng chứa trên Windows.

Trong trường hợp thứ hai, các thùng chứa rơi vào một máy ảo Hyper-V đặc biệt. Tất nhiên, điều này ảnh hưởng không tốt đến tốc độ khởi động, nhưng việc cách ly đã hoàn tất.

Phần kết luận

Windows trên Docker là một tin tuyệt vời. Ngay cả khi bạn không vội đóng gói sản phẩm của mình trong thùng chứa, đây vẫn là một công cụ tuyệt vời để tách biệt các bài kiểm tra đơn vị, máy sản xuất, máy chủ demo, hộp cát - mọi thứ mà trước đây bạn phải tạo một máy ảo. Nếu Microsoft vẫn cố gắng tung ra máy chủ nano trên Linux, thì tôi sẽ tha thứ cho họ về việc ngừng cung cấp Microsoft Band 2 gần đây, thứ mà tôi đã mua một cách thiếu thận trọng hai tháng trước đó.

Trong ngày hôm nay Đặt câu hỏi cho quản trị viên Tôi sẽ chỉ cho bạn cách triển khai hình ảnh vào vùng chứa trong Windows Server 2016, tạo hình ảnh mới và tải hình ảnh đó lên Docker.

Một trong những tính năng mới quan trọng trong Windows Server 2016 là hỗ trợ cho container và Docker. Bộ chứa cung cấp khả năng ảo hóa nhẹ và linh hoạt mà nhà phát triển có thể sử dụng để nhanh chóng triển khai và cập nhật ứng dụng mà không cần sử dụng máy ảo. Và cùng với Docker, một giải pháp quản lý container, công nghệ container đã bùng nổ trong vài năm qua.

Đây là bài viết cập nhật cung cấp thông tin trước đây có trong Triển khai và quản lý bộ chứa Windows Server bằng Docker hiện có từ Windows Server 2016 Digital Preview 3. Để biết thêm thông tin về Docker, hãy xem Docker là gì? và Bộ chứa Docker có tốt hơn máy ảo không? TRÊN Cơ sở kiến ​​thức kỹ thuật Petri IT.

Để làm theo hướng dẫn trong bài viết này, bạn cần có quyền truy cập vào máy chủ vật lý hoặc ảo chạy Windows Server 2016. Bạn có thể tải xuống bản sao đánh giá từ trang web của Microsoft hoặc thiết lập máy ảo trong Microsoft Azure. Bạn cũng sẽ cần ID Docker miễn phí mà bạn có thể nhận được bằng cách đăng ký.

Cài đặt Docker Engine

Bước đầu tiên là cài đặt hỗ trợ Docker trên Windows Server 2016.

  • Đăng nhập vào Windows Server.
  • Nhấp chuột Tìm kiếm biểu tượng và loại thanh tác vụ PowerShell trong cửa sổ tìm kiếm.
  • Click chuột phải Windows PowerShell trong kết quả tìm kiếm và chọn Chạy như quản trị viên từ thực đơn.
  • Nhập thông tin đăng nhập của quản trị viên khi được nhắc.

Để cài đặt Docker trên Windows Server, hãy chạy lệnh ghép ngắn PowerShell sau. Bạn sẽ được nhắc cài đặt NuGet, tải xuống mô-đun Docker PowerShell từ kho lưu trữ trực tuyến đáng tin cậy.

Mô-đun cài đặt -Name DockerMsftProvider -Force

Bây giờ sử dụng Cài đặt gói lệnh ghép ngắn để cài đặt công cụ Docker trên Windows Server. Xin lưu ý rằng cần phải khởi động lại khi kết thúc quá trình.

Gói cài đặt -Name docker -ProviderName DockerMsftProvider -Buộc khởi động lại máy tính -Force

Sau khi máy chủ khởi động lại, hãy chạy lại truy vấn PowerShell và đảm bảo rằng Docker đã được cài đặt bằng cách chạy lệnh sau:

Phiên bản docker

Tải xuống hình ảnh từ Docker và bắt đầu quá trình chứa

Bây giờ công cụ Docker đã được cài đặt, hãy lấy hình ảnh Windows Server Core mặc định từ Docker:

Docker kéo microsoft/windowsServerCore

Bây giờ hình ảnh đã được tải lên máy chủ cục bộ, hãy bắt đầu quá trình chứa bằng cách sử dụng chạy docker:

Docker chạy Microsoft /windowsServerCore

Tạo một hình ảnh mới

Bây giờ chúng ta có thể tạo một hình ảnh mới bằng cách sử dụng hình ảnh Windows Server đã tải xuống trước đó làm điểm bắt đầu. Trước khi bắt đầu, bạn sẽ cần ID Docker. Nếu bạn chưa có, hãy đăng ký tài khoản Docker.

Nhà tài trợ

Hình ảnh Docker thường được tạo từ các công thức tệp Docker, nhưng với mục đích minh họa, chúng tôi sẽ chạy lệnh trên hình ảnh đã tải xuống, tạo hình ảnh mới dựa trên thay đổi, sau đó tải nó xuống Docker để có thể truy cập được từ đám mây.

Xin lưu ý rằng trong dòng lệnh bên dưới -t Tham số đưa ra thẻ hình ảnh, giúp bạn dễ dàng nhận diện hình ảnh. Ngoài ra, hãy đặc biệt chú ý đến dấu gạch nối xuất hiện sau tên thẻ.

"TỪ Microsoft /windowsservercore `n CMD echo Xin chào thế giới!" | docker build -t mydockerid /windows-test-image -

Sau khi Docker tạo xong image mới, hãy kiểm tra danh sách các image có sẵn trên máy chủ cục bộ của bạn. Bạn sẽ thấy cả hai Microsoft/windowsServerCoremydockerid/windows-test-images trong danh sách.

hình ảnh docker

Bây giờ hãy bắt đầu một hình ảnh mới trong vùng chứa, nhớ thay thế mydockerid với tên ID Docker của bạn và bạn sẽ thấy Chào thế giới! Xuất hiện ở đầu ra:

Docker chạy mydockerid /windows-test-image

Tải hình ảnh lên Docker

Hãy tải hình ảnh chúng ta vừa tạo lên Docker để có thể truy cập nó từ đám mây. Đăng nhập bằng ID Docker và mật khẩu của bạn:

Đăng nhập vào docker -u mydockerid -p mypassword

cách sử dụng docker đẩyđể tải hình ảnh chúng tôi đã tạo ở các bước trước bằng cách thay thế mydockerid với tên ID Docker của bạn:

Docker đẩy mydockerid /windows-test-image