我正在尝试在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容器中使用Powershell
或CMD
执行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