簡體   English   中英

如何在 Windows docker 映像上安裝 PHP 作曲家?

[英]How to install PHP composer on Windows docker image?

我正在嘗試在 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

Kindly let me know how to execute php.exe composer-setup.php using Powershell or CMD from within the Docker container.

編輯

我連接到 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>

我將以下內容添加到 Dockerfile 並且效果很好

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

與 Windows 主機(默認情況下存在 DLL)不同,我們需要將所需的 DLL 顯式添加到 Docker

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM