如何在Windows docker镜像上安装PHP composer



我正在尝试在Windows Docker镜像上安装Composer

Dockerfile在下方提供

FROM mcr.microsoft.com/windows/servercore:ltsc2019
RUN powershell.exe Invoke-WebRequest -Uri "https://getcomposer.org/installer" -OutFile composer-setup.php
RUN powershell.exe Start-Process -FilePath "php.exe" -ArgumentList composer-setup.php

然而,当我构建docker镜像时,它既没有安装composer,也没有抛出任何错误

我尝试使用以下方法安装composer安装程序,但都不起作用

1)  RUN powershell.exe Start-Process -FilePath "php.exe" -ArgumentList composer-setup.php
2)  RUN powershell.exe Invoke-Expression "'php.exe composer-setup.php'"
3)  RUN powershell.exe Invoke-Expression "php.exe composer-setup.php"
4)  RUN powershell.exe Invoke-Expression -Command "'php.exe composer-setup.php'"
5)  RUN powershell.exe Invoke-Expression "& 'php.exe' composer-setup.php"  - & not allowed error message

请告诉我如何在Docker容器中使用PowershellCMD执行php.exe composer-setup.php

编辑

我连接到docker图像

PS C:Users> docker run -it myphp:latest
Microsoft Windows [Version 10.0.17763.1935]
(c) 2018 Microsoft Corporation. All rights reserved.

并执行了以下操作,但什么也没发生,而是返回提示

C:SoftwaresComposer>php.exe composer-setup.php
'php.exe' is not recognized as an internal or external command,
operable program or batch file.
C:SoftwaresComposer>C:SoftwaresPHPphp.exe composer-setup.php
C:SoftwaresComposer>

我在Dockerfile中添加了以下内容,运行良好

ADD vcruntime140.dll C:\Windows\System32\vcruntime140.dll

与Windows主机(默认情况下存在DLL(不同,我们需要将所需的DLL显式添加到Docker

最新更新