如何在Windows docker映像上安装PHP composer?
我正在尝试在Windows Docker映像上安装Composer如何在Windows docker映像上安装PHP composer?,php,windows,docker,powershell,composer-php,Php,Windows,Docker,Powershell,Composer Php,我正在尝试在Windows Docker映像上安装Composer PS C:\Users> docker run -it myphp:latest Microsoft Windows [Version 10.0.17763.1935] (c) 2018 Microsoft Corporation. All rights reserved. Dockerfile如下所示 FROM mcr.microsoft.com/windows/servercore:ltsc2019 RUN pow
PS C:\Users> docker run -it myphp:latest
Microsoft Windows [Version 10.0.17763.1935]
(c) 2018 Microsoft Corporation. All rights reserved.
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容器中使用Powershell
或CMD
执行php.exe composer setup.php
编辑
我已连接到docker image
PS C:\Users> docker run -it myphp:latest
Microsoft Windows [Version 10.0.17763.1935]
(c) 2018 Microsoft Corporation. All rights reserved.
并执行以下操作,但什么也没发生,而是返回到提示符
C:\Softwares\Composer>php.exe composer-setup.php
'php.exe' is not recognized as an internal or external command,
operable program or batch file.
C:\Softwares\Composer>C:\Softwares\PHP\php.exe composer-setup.php
C:\Softwares\Composer>
我在Dockerfile中添加了以下内容,效果很好
ADD vcruntime140.dll C:\\Windows\\System32\\vcruntime140.dll
与Windows主机(默认情况下存在DLL)不同,我们需要将requires DLL显式添加到Docker为什么不直接下载PHAR?或者甚至可以尝试,尽管我不知道它是否支持无人值守运行。(更明智的做法是,放弃Windows运行PHP)。@yivi感谢您的帮助。Windows installer不支持无人参与安装。但是,不知道为什么composer-setup.php没有再次执行,只需下载phar即可。@yivi如何下载composer.phar?