Classic ASPをDockerで動かす
Docker for Windowsで動かしています。
Windows Containerを動かすためにタスクトレイのDockerアイコンから「Switch to Windows containers…」を実行しておきましょう。
同一階層にDockerfileとASPファイルを用意します。
FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2016
RUN powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot\*
WORKDIR /inetpub/wwwroot
RUN powershell -NoProfile -Command Install-WindowsFeature Web-ASP
COPY index.asp .
<html>
<body>
<%
Response.Write "<p>Hello Classic ASP on Docker Container!</p>"
%>
<p><%= Now() %></p>
</body>
</html>
Windows Server IISのイメージをここからプルして、ドキュメントルートの初期化、ASPの有効化、ASPファイルの配置を行ってます。
>docker build -t asp .
Sending build context to Docker daemon 4.096kB
Step 1/5 : FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2016
---> b963809d8abb
Step 2/5 : RUN powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot\*
---> Using cache
---> 32b34d28cc9f
Step 3/5 : WORKDIR /inetpub/wwwroot
---> Using cache
---> 1dcfe62b37d3
Step 4/5 : RUN powershell -NoProfile -Command Install-WindowsFeature Web-ASP
---> Running in 85930962d5bf
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Application Development, ASP, ISAPI E...
Removing intermediate container 85930962d5bf
---> 0d33b1efcace
Step 5/5 : COPY index.asp .
---> 09dea075aae5
Successfully built 09dea075aae5
Successfully tagged asp:latest
>docker run -d -p 8080:80 --name my-asp-site asp
7e2424638575027020ade25fa7b0f30779a8a111ec096974142afe451e18cefb
>curl http://localhost:8080/index.asp
<html>
<body>
<p>Hello Classic ASP on Docker Container!</p>
<p>8/8/2020 9:07:08 AM</p>
</body>
</html>
コンテナ化できればクラウド環境への可搬性も向上するので、ASPの可能性が広がりますね。
ディスカッション
コメント一覧
まだ、コメントがありません