【发布时间】:2021-08-15 01:05:29
【问题描述】:
我正在尝试在 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 或抛出任何错误
我尝试使用以下方法安装作曲家设置,但没有成功
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:\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>
【问题讨论】:
-
为什么不直接下载PHAR?
-
或者甚至可以尝试the Windows installer,虽然我不知道它是否支持无人值守运行。 (不过更明智的是,放弃 Windows 来运行 PHP)。
-
@yivi 感谢您的帮助。 Windows 安装程序不支持无人值守安装。但是,不知道为什么 composer-setup.php 没有被执行
-
再次,只需下载 phar。
-
@yivi 如何下载 composer.phar ?
标签: php windows docker powershell composer-php