LoginSignup
6
6

More than 5 years have passed since last update.

C# × Docker で基礎学習 Part1 〜コンソールアプリ編〜

Last updated at Posted at 2018-11-06

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アプリ編〜

参考サイト

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6