我昨天碰到泊塢首次裏面,我不知道很多關於一般的Web服務器管理。只是一個頭。導入的文件不會出現泊塢容器
我努力使一個簡單的PHP的「Hello World」泊塢窗容器內運行。我建立了一個碼頭工人容器以下dockerfile:
FROM nanoserver/iis
MAINTAINER [email protected]
ADD http://windows.php.net/downloads/releases/php-5.6.31-Win32-VC11-x64.zip php.zip
ADD https://nanoserver.es/nanofiles/vcruntime140.dll C:\\Windows\\System32\\vcruntime140.dll
ADD https://nanoserver.es/nanofiles/iisfcgi.dll C:\\Windows\\System32\\inetsrv\\iisfcgi.dll
ADD https://nanoserver.es/nanofiles/info.dll C:\\inetpub\\wwwroot\\info.php
COPY hello.php C:\\inetpub\\wwwroot\\hello.php
ENV PHP C:\\php
RUN powershell -command Expand-Archive -Path c:\php.zip -DestinationPath C:\php
RUN setx PATH /M %PATH%;C:\php
ADD https://nanoserver.es/nanofiles/php.ini C:\\php\\php.ini
RUN powershell -command \
rm C:\Windows\System32\inetsrv\config\Applicationhost.config ; \
Invoke-WebRequest -uri https://nanoserver.es/nanofiles/Applicationhost.txt -outfile C:\\Windows\\System32\\inetsrv\\config\\Applicationhost.config ; \
Remove-Item c:\php.zip -Force
# The above request fails, but I don't see how it would be relevant to my question.
CMD ["powershell.exe"]
我希望這個Dockerfile創建一個用c容器:\的Inetpub \ wwwroot的\ info.php的,C:\的Inetpub \ wwwroot的\ hello.php和C:\ PHP。然而,在容器內PowerShell的給了我這樣的輸出:
PS C:\inetpub\wwwroot> ls
Directory: C:\inetpub\wwwroot
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 4/11/2017 11:55 AM 703 iisstart.htm
-a---- 4/11/2017 11:55 AM 99710 iisstart.png
感覺就像有一些基本的,我沒有把握。有人可以幫我在這裏嗎?
謝謝!不幸的是,它不適合我。我修改了Dockerfile以下幾點:https://pastebin.com/raw/SA956z9y 儘管如此,沒有預期的PHP-文件的容器內出現。 考慮到我的第一個Dockerfile已沒有錯誤地執行,是我的語法自動更正給我嗎? – Magnus
嘗試'COPY [「hello.php」,「C:/ inetpub/wwwroot /」]'? ..它應該做同樣的。也許還可以在不使用緩存的情況下構建:'docker build --no-cache'。 – Grimmy
@Magnus當您複製文件時,是否有'C:/ inetpub/wwwroot /'不會退出?最糟糕的情況是,您可以在複製之前創建目錄。 – Grimmy