■Windowsコンテナ
最大のメリットは、Windowsアプリが動作することと思っています。
あとは、Azureの対応も手厚い。当然といえば当然です。
Windows/Linuxが動作して、Windowsなら、Windows/Windows Server Core/Nano Server/Windows 10 IoTが動作します。
Windowsを動かしてみた(Nano Server 1903)
docker pull mcr.microsoft.com/windows/nanoserver:1903
docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ecdf83311929 mcr.microsoft.com/windows/nanoserver:1903 "cmd.exe" About a minute ago Up About a minute gifted_mcnulty
UsersディレクトリとWindowsディレクトリのみ
次にアプリを動かしてみた(+ASP.NET Core)
docker build -t aspnetapp .
docker run -it --rm --name aspnetcore_sample aspnetapp
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
Storing keys in a directory 'C:\Users\ContainerUser\AppData\Local\ASP.NET\DataProtection-Keys' that may not be persisted outside
of the container. Protected data will be unavailable when container is destroyed.
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://[::]:80
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\app
⇒Windowsコンテナは、PORT変換は必要ない。
appディレクトリとProgram Filesディレクトリが追加されている。
あと、ちとメモリを使いすぎていると思うけど、これって.NET5のせい?Windwosコンテナのせい?
Docker Desktopで確認するとファイル共有はない。永続化データの仕様は、名前付きボリュームを使用する。
あと、Windowsコンテナでは、Kurbanetesが出てこない。安心してAKSがあります。
あとは、コンテナのIPアドレスを確認して、
docker exec aspnetcore_sample ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::3c4e:5abc:e710:f72a%4
IPv4 Address. . . . . . . . . . . : 172.19.33.47
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 172.19.32.1
http://172.19.33.47
で起動する。
課題
一番の課題は、この起動方法で作成したコンテナのOSが不明です。
可能性があるのは、
Normal Nano Server
mcr.microsoft.com/dotnet/aspnet:5.0-nanoserver-20H2
か
Slim Nano Server
mcr.microsoft.com/windows/nanoserver:20H2
⇒2004, 1909, and 1809が選択可能です。
もしくは、
Normal Server Core
mcr.microsoft.com/dotnet/aspnet:5.0-windowsservercore-ltsc2019
か
Slim Server Core
mcr.microsoft.com/windows/servercore:ltsc2019
ですね。
docker ps
で確認してもわからない。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fd7a9de49db1 aspnetapp "dotnet aspnetapp.dll" 20 minutes ago Up 20 minutes aspnetcore_sample
ecdf83311929 mcr.microsoft.com/windows/nanoserver:1903 "cmd.exe" 27 minutes ago Up 27 minutes gifted_mcnulty
docker
0 件のコメント:
コメントを投稿