我昨天碰到泊坞首次里面,我不知道很多关于一般的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