Pase las variables de PowerShell a los comandos de Docker

Me gustaría escribir la gestión de los contenedores Docker, pero me resulta difícil pasar las variables PS a los comandos Docker, en particular debido a las diferencias de formato de ruta.

La siguiente línea (*) y los me gusta que puedes encontraraquí funcionan, sin embargo son inconvenientes:

Start-Process docker " run --rm -v $($env:USERPROFILE -replace '\\','/'):/data alpine ls /data"

De hecho, PSStart-Process es perfecto para un instalador MSI donde necesita ver la ventana emergente y controlar su nivel de visibilidad para comprender que se está instalando un instalador silencioso. En cambio, no desea iniciar una nueva ventana cada vez que ejecuta una aplicación de consola y particularmente en Docker, donde interactúa de un lado a otro con la persona que llama y llama a shell.

A"Ejecutar un comando, script o bloque de script" PS proporciona específicamente&, "el operador de llamada, también conocido como 'operador de invocación'". Sin embargo, intenté sin éxito con:

& docker run --rm -v $($env:USERPROFILE -replace '\\','/'):/data alpine ls /data

Cmd.exe quizás facilitaría las cosas, pero PowerShell es el shell oficial para interactuar conDocker para Windows. Por lo tanto, debería haber una forma confiable de pasar argumentos variables a los comandos de Docker.

(*) El interruptor de eliminación-rm se usa aquí solo con el propósito de experimentar con la respuesta evitando abarrotar su espacio de trabajo. Por supuesto, generalmente no destruyo el contenedor tan pronto como lo creo, sino que interactúo con él pasando-ti.

EDITAR

@AnsgarWiechers proponesalpicaduras de parámetros en un comentario:

$params = 'run',  '--rm', "-v $($env:USERPROFILE -replace '\\','/'):/data", 'alpine', 'ls /data'
docker  @params

Suponiendo que lo estoy implementando correctamente, tampoco funciona y da:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: invalid mode: /data.        
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.                                        

Respuestas a la pregunta(1)

Su respuesta a la pregunta