Dockerで「ASP.NET Core Web API」を動かす

ASP.NET Core
この記事は約4分で読めます。
スポンサーリンク

ASP.NET Core Web APIプロジェクトの実行環境をDocker上につくる方法をまとめました。

スポンサーリンク

前提

WindowsでDockerが既に使えている状況を前提とします。

スポンサーリンク

Docker環境の構築

Visual Studio 2022を使用し、ASP.NET Core Web API(.NET 8.0)のDocker環境を構築します。

ASP.NET Core Web APIプロジェクトの作成

プロジェクト作成時、「Dokcerを有効にする」をチェックONし、「Docker OS: Linux」を選択します。

プロジェクトが作成されると、Dockerfileと.dockerignoreが自動生成されます。
この時点で、コンテナも作成されます。

#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]
RUN dotnet restore "./WebApplication1/./WebApplication1.csproj"
COPY . .
WORKDIR "/src/WebApplication1"
RUN dotnet build "./WebApplication1.csproj" -c $BUILD_CONFIGURATION -o /app/build

FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./WebApplication1.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]

作成されたコンテナは、コンテナーウィンドウで確認できます。
コンテナーウィンドウは、Visual Studioのメニュー「表示 > その他のウィンドウ > コンテナー」で表示可能です。

デバッグ実行

Docker環境上で、Web APIをデバッグ実行します。
Dockerボタンをクリックすると、Docker環境上でWeb APIが実行されます。

ブラウザが自動起動し、Swaggerの画面が表示されます。
「Try it out」ボタン→「Execute」ボタンをクリックすると、データが取得できます。

↓ブラウザで、以下のURLにアクセスした場合、jsonデータが確認できます。
https://localhost:49153/weatherforecast ※ポート番号は環境によって変わります

スポンサーリンク

おまけ:ターミナルウィンドウ

コンテナーウィンドウの「ターミナルウィンドウを開く(下図の赤枠部分)」ボタンをクリックすると、PowerShell画面に切り替わります。Docker環境内部で、コマンドを実行することができます。

まとめ

ASP.NET Coreは、MicrosoftのWebフレームワークなだけあって、Visual Studioとの相性が良いですね。Dockerに慣れていない人であっても、簡単にDocker環境を構築できます。

タイトルとURLをコピーしました