C# × Dockerで色々な構成のアプリを作成していきます。
手始めにコンソールアプリを作成します。
開発環境
- macOS High Sierra
- Docker for Mac Version 18.06.1-ce-mac74
- .Net Core 2.1.4
- Visual Studio Code
作成するアプリ
簡単なC#コンソールアプリケーション
アプリ作成
最初にコンソールアプリを作成します。
アプリを作成したいフォルダに移動し、以下のコマンドを実行します。
$ dotnet new console
実行すると以下のようにファイルとフォルダが作成されます。
# フォルダ名がアプリ名(csprojのファイル名)になる
.
├── App.csproj
├── Program.cs
└── obj
├── App.csproj.nuget.cache
├── App.csproj.nuget.g.props
├── App.csproj.nuget.g.targets
└── project.assets.json
実行してみます
$ dotnet run
Hello World!
Dockerの準備
Dockerfileを作成し、Dockerで実行するための設定をします。
以下の内容でDockerfileを作成します。
Dockerfile
FROM microsoft/dotnet:2.1-sdk
WORKDIR /app
# csprojをコピーし、依存パッケージを取得
COPY *.csproj ./
RUN dotnet restore
# プログラムのコピー
COPY . ./
# リリース資材をoutフォルダに出力
RUN dotnet publish -c Release -o out
# プログラム実行
ENTRYPOINT ["dotnet", "out/App.dll"]
ビルドします。
# -tオプションはリポジトリ名を指定(好きな名称でOK)
$ docker build -t dotnet-console
実行してみます。
$ docker run --rm dotnet-console
Hello World!
今回は以上です。
実際にPGはしませんでしたが、もちろん任意のプログラムを作成してから
Dockerでビルド・実行すれば任意の文字を表示することも可能です。
次回予告
次回はWEBアプリ(ASP.NET MVC)を作成してDockerで実行してみようと思います。
C# × Docker で基礎学習 Part2 〜WEBアプリ編〜
参考サイト