.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Dockerイメージを作成するファイル。

詳細

基本構文

# コメント
{命令} {引数}

パーサ・ディレクティブ

  • オプション
  • # ディレクティブ=値 という特別な種類のコメント

命令

  • 命令一行毎に、
    COWのレイヤが積み上がる。
  • 命令の一覧
    #命令説明
    1FROM以降の命令で使う ベース・イメージ を指定する。
    1行めを FROM 命令で指定する必要がある。
    2MAINTAINER生成するイメージの Author (作者)フィールドを指定する。
    3RUN2つの形式があり何れもコマンドを実行する
    4CMDRUNと似ていて、3つの形式があり、コンテナ実行時のデフォルトを提供する。
    5LABELイメージにキー・バリューのメタデータを追加する。
    6EXPOSE特定のコンテナが実行時にポートをリッスンすることを Docker に伝える。
    7ENV環境変数と値をセットできる(1つ、若しくは複数)。
    8ADDファイルやディレクトリをコピーする。
    9COPYADDと似ているが、リモート、自動解凍の機能が無い。
    10ENTRYPOINTCMDと同様、2つの形式があり、CMDと連携して使われる。
    11VOLUME指定した名前でマウントポイントを作成し、
    他から外部マウント可能なボリュームにする。
    12USERRUN、CMD、ENTRYPOINTの実行アカウントを指定する。
    13WORKDIR作業ディレクトリ指定する(ENVを併用できる)。
    14ARGdocker build コマンドで使う変数、フラグを定義する。
    15ONBUILD次のビルドで実行するコマンドをイメージに仕込むことができるようになる。
    要するに,親DockerfileのDockerfileコマンドを子Dockerfileのビルド時に実行できる。
    16STOPSIGNALコンテナを終了時の、システム・コール・シグナルを設定する。
    17HEALTHCHECKヘルスチェックを行う。
    18SHELLデフォルトのシェルを上書きする。cmd と powershell を sh に変更可能にする。

aspnetcore:2.0

FROM microsoft/aspnetcore:2.0-stretch AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/aspnetcore-build:2.0-stretch AS build
WORKDIR /src
COPY ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]
RUN dotnet restore "WebApplication1/WebApplication1.csproj"
COPY . .
WORKDIR "/src/WebApplication1"
RUN dotnet build "WebApplication1.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApplication1.csproj" -c Release -o /app/publish

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

aspnet:3.0

FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
WORKDIR /src
COPY ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]
RUN dotnet restore "WebApplication1/WebApplication1.csproj"
COPY . .
WORKDIR "/src/WebApplication1"
RUN dotnet build "WebApplication1.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApplication1.csproj" -c Release -o /app/publish

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

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-10 (火) 19:20:00 (41d)