Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dockerfile运行powershell wget并查看进度_Powershell_Docker_Docker For Windows_Cmdlets - Fatal编程技术网

Dockerfile运行powershell wget并查看进度

Dockerfile运行powershell wget并查看进度,powershell,docker,docker-for-windows,cmdlets,Powershell,Docker,Docker For Windows,Cmdlets,在my dockerfile中,您希望使用以下命令序列下载和解压缩大型zip文件: RUN powershell -Command \ wget http://my_server/big_huge.zip \ -OutFile C:\big_huge.zip ; \ Expand-Archive -Path C:\big_huge.zip \

在my dockerfile中,您希望使用以下命令序列下载和解压缩大型zip文件:

RUN powershell -Command                           \
    wget http://my_server/big_huge.zip            \
        -OutFile C:\big_huge.zip ;                \
    Expand-Archive -Path C:\big_huge.zip          \
                   -DestinationPath C:\big_huge ; \
    Remove-Item C:\big_huge.zip -Force
我不想使用ADD来下载zip文件,因为它不会改变,我希望缓存此步骤


我上面所说的似乎是可行的,但我并没有像平时一样得到任何下载进度的指示。这很糟糕,因为下载量很大。我想下载的进度很模糊,因为
Invoke-WebRequest
wget
是一个cmdlet的别名。有没有办法将cmdlet的输出通过管道传输到stdout,以便我在运行
docker build
时可以看到它?

我不知道docker。但是,您可能可以通过powershell cmdlet输出主机来传输输出。键入帮助主机以获取更多信息。

我放弃了从Dockerfile下载的尝试,而是编写了一个单独的脚本,预先下载我需要的文件,并在文件不存在时扩展其存档。然后,此脚本调用
docker build
docker run
,等等。在docker文件中,我正在复制扩展归档文件的目录。

将输出传输到Out主机不会改变此命令在主机系统上的执行方式,当我尝试在docker文件中使用它时,它只是失败了<代码>“Out-Host”无法识别为内部或外部命令、可操作程序或批处理文件。Ok。我正在使用Powershell核心版本7。我们的主机可能不是你的解决方案,但奇怪的是你没有它。