'Adding printer on windows-docker

We are trying to dockerize some old powerbuilder batch jobs, and the existing code requires a ghostscript printer installed with the exact name (for the details see here)

Microsoft's documentation on Print Spooler in containers states "apps that have a dependency on installing printer drivers into the host cannot be containerized because driver installation from within a container is unsupported"

I do not know if this is just a typo/missunderstanding, as why would any application want to install driver into host? I need it in the container, also is it only for the drivers or for the Printers as well?

Assuming this is only a typo/missunderstanding, and microsoft claims it can not be done in the container, the question is

  1. could I do it through the host (and commit it into a new docker image)
  2. could I do it through doccker file , using some MSI installer and run it there
  3. is there any possibility to add a driver and printer in docker image ? (and if not it should be clearly stated)

Assuming this the above statement is not a typo/missunderstanding, than it should be possible to add printer to docker. For that we are using

FROM mcr.microsoft.com/windows:1909 

and isolation is hyperv

We tried runnig this from the dockerfile

RUN powershell -command Add-Printer -Name \"Test Printer\" -DriverName \"Microsoft Print to PDF\" -PortName \"PORTPROMPT:\"

and get following errror

# InvalidData: (MSFT_Printer:ROOT/StandardCimv2/MS
# FullyQualifiedErrorId : HRESULT 0x80070006,Add-Printer

but I was not able to find anything meangifull for this error

I can list, rename and remove a printer but I can not add existing one, also if I execute

Get-PrintConfiguration "Microsoft Print To PDF"

I am getting

+ CategoryInfo          : NotSpecified: (MSFT_PrinterConfiguration:ROOT/StandardCi...erConfiguration) [Get-PrintConfiguration], CimException
+ FullyQualifiedErrorId : HRESULT 0x8000ffff,Get-PrintConfiguration

so it seams there is something fishy with printers in the docker image.

Do you if there is any possibility to add printer to docker image / container?

thanks almir



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source