私は昨日Dockerに初めて触れました。一般的にWebサーバーの管理についてはよく分かりません。ただ頭を上げる。インポートされたファイルはDockerコンテナ内に表示されません
Dockerコンテナ内で実行される単純なPHP「hello world」を作るのに苦労しています。私はこのDockerfileがCでコンテナを作成するために期待される
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とドッカーコンテナを構築しています\の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