0. 前提
.NET 5 がインストールされていること。
$ dotnet --version
5.0.1001. プロジェクトの作成
dotnet new webapi -o ApiDockerSample
cd ApiDockerSample2. Dockerfile の作成
ビルドには mcr.microsoft.com/dotnet/sdk:5.0 イメージを使います。
ビルドされた dll を mcr.microsoft.com/dotnet/aspnet:5.0 イメージ内で実行します。
ApiDockerSample/Dockerfile
FROM mcr.microsoft.com/dotnet/sdk:5.0 as builder
COPY . /app
WORKDIR /app
RUN dotnet publish -c Release
FROM mcr.microsoft.com/dotnet/aspnet:5.0
COPY --from=builder /app/bin/Release/net5.0/publish/ /app
WORKDIR /app
ENTRYPOINT [ "dotnet", "ApiDockerSample.dll" ]3. Docker の実行
今回は docker-compose を使って起動します。
ApiDockerSample/docker-copose.yml
version: "3"
services:
api:
image: api-docker-sample
build: .
ports:
- 8000:80以下のコマンドを実行すると、http://localhost:8000/weatherForecastからアクセスできる。
docker-compose up