Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le applicazioni con una dipendenza dai servizi di stampa possono essere incluse correttamente in contenitori Windows. Esistono requisiti speciali che devono essere soddisfatti per abilitare correttamente la funzionalità del servizio stampante. Questa guida illustra come configurare correttamente la distribuzione.
Importante
Mentre l'accesso ai servizi di stampa nei contenitori funziona correttamente, la funzionalità è limitata nella forma; alcune azioni correlate alla stampa potrebbero non funzionare come previsto. Ad esempio, le app che dipendono dall'installazione di driver della stampante nell'host non possono essere containerizzate perché l'installazione del driver dall'interno di un contenitore non è supportata. Se trovi una funzionalità di stampa non supportata che desideri venga supportata nei contenitori, apri un feedback qui sotto.
Configurazione
- L'host deve essere Windows Server 2019 o Windows 10 Pro/Enterprise aggiornamento di ottobre 2018 o versione successiva.
- Usare l'immagine di base per i contenitori windows o l'immagine di base per i contenitori di Windows Server. Altre immagini di base dei contenitori di Windows (ad esempio Nano Server e Windows Server Core) non portano il ruolo del server di stampa.
isolamento Hyper-V
Si raccomanda di eseguire il contenitore con isolamento Hyper-V. Quando viene eseguito in questa modalità, è possibile avere il numero di contenitori desiderati in esecuzione con l'accesso ai servizi di stampa. Non è necessario modificare il servizio spooler del host.
È possibile verificare la funzionalità con la query di PowerShell seguente:
PS C:\Users\Administrator> docker run -it --isolation hyperv mcr.microsoft.com/windows:1809 powershell.exe
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\> Get-Service spooler
Status Name DisplayName
------ ---- -----------
Running spooler Print Spooler
PS C:\> Get-Printer
Name ComputerName Type DriverName PortName Shared Published
---- ------------ ---- ---------- -------- ------ --------
Microsoft XPS Document Writer Local Microsoft XPS Document... PORTPROMPT: False False
Microsoft Print to PDF Local Microsoft Print To PDF PORTPROMPT: False False
Fax Local Microsoft Shared Fax D... SHRFAX: False False
PS C:\>
Isolamento dei processi
A causa della natura condivisa del kernel dei contenitori isolati dal processo, il comportamento corrente limita l'utente a eseguire solo un'istanza del servizio spooler della stampante nell'host e in tutti i contenitori figli. Se l'host dispone dello spooler della stampante in esecuzione, è necessario arrestare il servizio sull'host prima di tentare di avviare il servizio stampante nell'ospite.
Mancia
Se si avvia un contenitore e si interroga il servizio spooler sia nel contenitore che nell'host contemporaneamente, entrambi invieranno il loro stato come "attivo". Ma non essere ingannato: il contenitore non sarà in grado di eseguire una query per un elenco di stampanti disponibili. Il servizio spooler dell'host non deve essere eseguito.
Per verificare se l'host esegue il servizio stampante, usare la query in PowerShell seguente:
PS C:\Users\Administrator> Get-Service spooler
Status Name DisplayName
------ ---- -----------
Running spooler Print Spooler
PS C:\Users\Administrator>
Per arrestare il servizio di spooler nell'host, usare i comandi seguenti in PowerShell:
Stop-Service spooler
Set-Service spooler -StartupType Disabled
Avviare il contenitore e verificare l'accesso alle stampanti.
PS C:\Users\Administrator> docker run -it --isolation process mcr.microsoft.com/windows:1809 powershell.exe
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\> Get-Service spooler
Status Name DisplayName
------ ---- -----------
Running spooler Print Spooler
PS C:\> Get-Printer
Name ComputerName Type DriverName PortName Shared Published
---- ------------ ---- ---------- -------- ------ --------
Microsoft XPS Document Writer Local Microsoft XPS Document... PORTPROMPT: False False
Microsoft Print to PDF Local Microsoft Print To PDF PORTPROMPT: False False
Fax Local Microsoft Shared Fax D... SHRFAX: False False
PS C:\>