.NET 7 부터 dotnet 명령줄로 Dockerfile없이 컨테이너 이미지를 직접 생성할 수 있습니다.
dotnet new web -o webtest
dotnet add package Microsoft.NET.Build.Containers
컨테이너 이미지를 빌드할 때 필요한 설정이 csproj에 통합되었으므로 다음의 설정을 통해 가능합니다.
<PropertyGroup>
...
<ContainerImageName>webtest</ContainerImageName>
<ContainerImageTag>latest</ContainerImageTag>
...
</PropertyGroup>
<ItemGroup>
<ContainerPort Include="443" Type="tcp" />
</ItemGroup>
그런 후 게시를 통해 컨테이너 이미지를 만들 수 있습니다.
dotnet publish --os linux --arch x64 -p:PublishProfile=DefaultContainer -c Release
이제 도커 이미지를 docker image ls 해서 확인할 수 있습니다.
REPOSITORY TAG IMAGE ID CREATED SIZE
webtest latest 4e3ff779ff69 2 seconds ago 216MB