Introduction

.NET Core 2.0 PreviewとVisual Studio Codeでコンソールアプリをつくる Linux準備編にて、Portainerを経由し、Dockerで、

  • debianベースの.NET Core 2.0 Preview SDKのImageをPull
  • コンテナの作成

を実行しました。
今回は.NET Coreでソースのビルドと実行を行います。

コンソールに接続

Portainerで前回作成したコンテナの詳細画面に遷移します。
Container StatusConsoleというリンクがあるのでクリックします。
そうすると、Container consoleという画面に遷移します。

ここで、ペンギンアイコンのコンボボックスを開くと、**/bin/sh** と /bin/bash を選べます。
今回は/bin/bashを選んで、Connect をクリックすると、黒い背景のコンソールが出現します。

ここで、ls -la と入力してEnterキーを叩きます。

きちんとコンテナ内につながっているようです。Portainer経由でコンテナに接続もできます。凄い。

次に、cd home/Projectsと叩きます。
コンテナ作成時にマッピングしたディレクトリです。きちんと移動したことがわかります。

dotnet

コンテナに繋がっていることがわかったので、.NET Coreが利用できることを確認し、ビルドと実行を行っていきます。
まず、dotnet –info と入力します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# dotnet --info
.NET Command Line Tools (2.0.0-preview1-005825)

Product Information:
Version: 2.0.0-preview1-005825
Commit SHA-1 hash: b4a821109d

Runtime Environment:
OS Name: debian
OS Version: 8
OS Platform: Linux
RID: debian.8-x64
Base Path: /usr/share/dotnet/sdk/2.0.0-preview1-005825/

Microsoft .NET Core Shared Framework Host

Version : 2.0.0-preview1-002028-00
Build : 6d0caecf154d3398b9bc0e637089b6af9e250479

.NET Core 2.0 previewがインストールされている、debianであることが確認できました。
ここまでくれば、あとは前々回と同じく、Hello, world!! を表示するコンソールを作り、ビルド、実行します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ dotnet new console
The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on /home/Projects/Projects.csproj...
Restore succeeded.

$ dotnet build
Microsoft (R) Build Engine version 15.2.93.5465
Copyright (C) Microsoft Corporation. All rights reserved.

Projects -> /home/Projects/bin/Debug/netcoreapp2.0/Projects.dll

Build succeeded.
0 Warning(s)
0 Error(s)

Time Elapsed 00:00:08.68
$ dotnet run
Hello World!

実行できました。
Docker環境でも.NET Coreを動かせることを証明できました。