2017-01-10 50 views
7

Tôi đang sử dụng đế cắm trên máy chủ Windows 2016, tôi đã tạo vùng chứa bằng cách sử dụng hình ảnh "microsoft/windowsservercore: latest". Trên hình ảnh này tôi đã cài đặt vai trò "Print-Server" nhưng khi tôi cố gắng gọi lệnh "Get-Printer", tôi gặp lỗi với dịch vụ bộ đệm. Đây là các lệnh được sử dụng để tái tạo vấn đề:Windows 2016: Lỗi vùng chứa Docker

docker run -d --name testspoolererror1 microsoft/windowsservercore:latest ping -t localhost 
docker exec -it testspoolererror1 powershell 
Install-WindowsFeature Print-Server 
Set-Service spooler -StartupType Automatic 
Start-Service spooler 
Get-Service spooler 
Get-Printer 

này là khi tôi nhận được lỗi:

Get-Printer : The spooler service is not reachable. Ensure the spooler service is running. At line:1 char:1 + Get-Printer + ~~~~~~~~~~~ + CategoryInfo : NotSpecified: (MSFT_Printer:ROOT/StandardCimv2/MSFT_Printer) [Get-Printer], CimException + FullyQualifiedErrorId : HRESULT 0x800706ba,Get-Printer In the event viewer i found the error: The Print Spooler service terminated unexpectedly. It has done this 2 time(s).

Bất cứ ai có thể giúp tôi để giải quyết vấn đề này?

+0

Tôi đang gặp sự cố mẫu. 'Bộ đệm dịch vụ nhận 'cho thấy dịch vụ bộ đệm khởi động nhưng nó bị treo sau khi chạy' Get-Printer'. 'Get-WinEvent' chỉ ra rằng bộ đệm đã bị lỗi và ngoài ra còn cho thấy:' Bộ đệm in không tải được mô-đun trình cắm thêm WSDMon.dll, mã lỗi 0x7E. Xem dữ liệu người dùng sự kiện cho ngữ cảnh ' – fons

Trả lời

-2
  • Mạng docker chạy trên (theo mặc định) không có cùng mạng với máy chủ.

  • Ping máy chủ cục bộ từ bên trong vùng chứa không hoạt động như bạn nghĩ.

  • Tìm hiểu cách mạng Docker như bước 1.

+0

Đừng nghĩ rằng vấn đề là liên quan đến mạng, vì tất cả các lệnh được thực hiện từ bên trong vùng chứa. Ngoài ra, lệnh 'ping' chỉ làm cho vùng chứa tiếp tục chạy. Câu hỏi có vẻ hoàn toàn hợp pháp với tôi. – Gene

1

Tôi xin lỗi để nghe bạn đang gặp vấn đề này và tôi sẽ rất hân hạnh được làm những gì tôi có thể để giúp bạn sắp xếp nó ra:)

Đối với lợi ích của việc kỹ lưỡng, tôi đã cố gắng này bản thân mình bằng cách chạy các lệnh sau:

docker run -it microsoft/windowsservercore:latest powershell 

(Bây giờ chạy PowerShell từ bên trong container)

Install-WindowsFeature Print-Server 
Set-Service spooler -StartupType Automatic 
Start-Service spooler 
Get-Service spooler 
Get-Printer 

Tôi đã có thể chạy chúng trên hệ thống của mình mà không có lỗi. Vì vậy, đó là một sự khởi đầu.

Bây giờ, từ lỗi của bạn, có vẻ như dịch vụ bộ đệm không khởi động. Bạn thấy gì khi chạy Get-Service spooler? Bạn sẽ thử chạy các lệnh này trên hệ thống của bạn giống như tôi đã liệt kê chúng ở trên rồi báo cáo lại với kết quả của bạn?

Ngoài ra, để làm rõ, bạn đang cố gắng làm gì khi bạn đang ping localhost từ vùng chứa? Bạn đang cố gắng ping máy chủ lưu trữ vùng chứa của mình?

Và như một mặt lưu ý, nếu bạn đang tìm kiếm thông tin cơ bản về cách mạng chứa hoạt động trên Windows, đây là một nơi tốt để bắt đầu: https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/container-networking

--Kallie B. (Giám đốc chương trình, Microsoft Team Networking)

+0

Tôi đã thực hiện kiểm tra với các lệnh của bạn và tôi gặp lỗi: Get-Printer: Dịch vụ bộ đệm không thể truy cập được. Đảm bảo bộ đệm. Dịch vụ bộ đệm đang chạy trước và sau cuộc gọi "Get-Printer". Tôi đã thử nghiệm trên Windows 2016 DataCenter cập nhật, với docker 1,12 và docker 1,14-dev với cùng một kết quả. – bdn02

+0

Cùng một vấn đề ở đây ... – craffael

+0

Tôi nhận được cùng một vấn đề như Scott. 'Bộ đệm nhận dịch vụ 'chỉ ra rằng bộ đệm khởi động nhưng nó bị đổ vỡ sau khi chạy' Get-Printer'. 'Get-WinEvent' chỉ ra rằng bộ đệm đã bị lỗi và ngoài ra còn cho thấy:' Bộ đệm in không tải được mô-đun trình cắm thêm WSDMon.dll, mã lỗi 0x7E. Xem dữ liệu người dùng sự kiện cho ngữ cảnh ' – fons

-1

Lý do khiến Kallie dường như có thể thực hiện các bước trên để làm việc có lẽ là do nó đang được lưu trữ khác nhau. Tôi đã thử các bước trên thông qua Docker trên một Server 2016 hộp, và nhấn cùng một lỗi. Khi tôi thử nó thông qua Docker trên Windows 10, tôi đã có thể khởi động bộ đệm thành công và chạy các lệnh trên, nhưng tôi không thể cài đặt bất kỳ trình điều khiển thành công mà sẽ làm cho nó thực sự hữu ích. Pnputil chỉ ném sai "Không có dữ liệu" lỗi khi cố gắng cài đặt bất kỳ.

Tôi đoán là nó hoạt động trên Windows 10 vì nó sử dụng mô phỏng siêu v thay vì vùng chứa gốc được sử dụng khi lưu trữ Server 2016 Core on Server 2016. Một điều tôi nhận thấy là các trình điều khiển được kế thừa từ máy cơ sở khi tạo một vùng chứa trên Server 2016, nhưng không phải trên Windows 10.Tôi cho rằng đó là hành vi khá được hiểu bởi các chuyên gia Docker, nhưng có vẻ như các trình điều khiển kế thừa có thể gây ra sự cố. Tuy nhiên, tôi không phải là chuyên gia Windows.

Dù bằng cách nào, nó có vẻ giống như một cái gì đó mà Microsoft sẽ phải xem xét và giải quyết.

Các vấn đề liên quan