9. [.NET5 / .NET6] Dockerの最も単純な方法でAWS-EC2上で.NET5帳票出力WEBアプリを動作させる手順

.NET5 / .NET6で開発
Dockerの最も単純な方法でAWS-EC2上で、
帳票出力WEBアプリを動作させる手順

いよいよDockerを使います。
ただ、Docker と言ってもいくつも手法があります。
色々ネットで調べたり、動画を見たりしましたが、いまいちピンときません。
Dockerに内包してして、そのイメージをコピーすれば、どこでも動くでしょ?
なんで、その単純な手法が検索しても出てこないんだろう??

実際の開発となれば、みんなで開発しますし、手順を確立してサイクル化することにより、効率的で、人手によるミスを減らすことができる。
それはわかるのですが、それでも、単純にDockerのイメージをコピーするだけの方法をやってみたかった。そこで、Dockerについては、次の2回に分けて記事を書くことにしました。

  1. Docker イメージを作成して、他の環境にコピーして単純に動かしてみる。
  2. Docker イメージをAWS ECR(リポジトリ)に登録して ECSに処理してもらう方法もやってみる。(標準的な方法の一つ)

今回の記事は、1.の単純な手法です。構成と流れを図にすると次のような感じです。

f:id:pao_papa_2000:20220212062124p:plain

Dockerを使った最も単純な手順 - 構成と流れ

(1) ローカルVS2022でWSL2にdocker image作成

(2) docker save で tarファイル保存

(3) tarファイルを scp で AWS-EC2へ

(4) AWS-EC2でdocker load でtarファイルをimagesに追加

(5) docker run

 

(1) の Visual Studio から Dockerイメージの作成(docker build)は、ものすごく簡単です。

基本的に、Dockerfile もVisual Studioが作成してくれます。

それでは、この単純な手法の手順につていて、分かりやすく細かく説明した動画を作成しましたので、是非、ご覧ください。

 

youtu.be


繰り返しになる部分もありますが、動画での説明の流れを記述しておきます。
また、使用するコマンドもそのまま記載しておきます。

Visual Studio 2022で作成したDockerを最もシンプルな手法を使用して、AWC-EC2でDocker経由で「.NET5で作成したPDF出力用WEBアプリケーション」を動作させる手順の動画です。
次にその手順を記載しておきます。
.NET6では、.NET6のバグフィックスまで利用できない手法です。マイクロソフトもバグ情報を受け取ったため近いうちに.NET6のパッチが出ると思います。

(1) Visual Studio 2022 で Dockerイメージ作成 DockerFile

(2) 自パソコンでまずコンテナを動かしてみる
docker run --rm -it -p 5000:5000 webapplication10

(3) Dcokerイメージをコピー&動作させるためのEC2を作成

(4) EC2にdockerをインストール

sudo yum update -y
sudo amazon-linux-extras install docker
sudo service docker start
sudo usermod -a -G docker ec2-user

(5) 自PCのWSL2でDockerイメージ→tarファイル
docker save webapplication10 -o pao.tar

(6) scpでtarファイル(pao.tar)をEC2へコピー

(7) EC2 で tarファイル→Dockerイメージ
docker load -i pao.tar 

(8) EC2でコンテナ実行
docker run --rm -it -p 5000:5000 webapplication10

 

これだけです。単純ですよね。(^^;

 

※今回の記事を書く、または動画作成にあたって、使用している帳票ツールは、
20年前からの老舗 C#やVB.NETの帳票ツール【Reports.net】 を利用しています。