0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Lambda(Node.js)のDockerイメージをデプロイしてみた。(その3,EC2上でDocker上のLambdaを実行してデバック)

Posted at

はじめに

LambdaをDockerイメージでデプロイする方法を、調査する機会があったので自分の備忘用にメモ書きを残します。

今回は、Dockerを起動して動作確認をする所をメモ書きします。
実行環境は、前回からの続きです。

イメージをビルドする

cd
cd DeployProject
docker build -t deployproject:test1 .

-t オプションで、「名前:タグ」を指定しながらビルドします。

前回、Dockerファイルに「COPYコマンド」など正常に動くか確認します。

デバック用の端末用意

デプロイする前の動作確認は、Teratermの端末を3枚用意するとデバック作業が楽でした。

Teratermは、「File」→「Duplicate session」で同じ接続端末を増やせるので3枚に増やして、下記の用な配置でデバックしてました。

image.png

Docker起動 ※デバック繰り返し①

【端末①】で、下記のコマンドでDockerを起動する。

docker run -p 9000:8080 --read-only deployproject:test1

Docker上のLambda起動 ※デバック繰り返し②

【端末③】で、下記のコマンドを利用してリクエストを投げると起動できる。

curl "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"payload":"hello world!"}'

-d オプションで指定するJSONは、Lambdaの起動引数に与えたいJSONに書き換える

【端末①】には、CloudWatch logsに出力されるようなLambda実行ログが出力される。
【端末③】には、Lambdaの応答JSONが出力される。

Docker停止 ※デバック繰り返し③

【端末②】で、下記のコマンドを利用して「CONTAINER ID」を確認し、docker kill で停止する。

docker ps
docker kill 「CONTAINER ID」

まとめ

Ec2のDocker上で動くLambdaの動作確認までを記載しました。

端末を3枚開きにしておくと、ちょっとだけデバックがやりやすい。というメモ書きでした。
ソースを修正して動作確認し直すときは、「※デバック繰り返し①~③」を繰り返す感じになります。

AWSの相談・お困りごとありましたら、、、

AWSの活用方法や、お困りごとの相談、随時、お仕事の受付しております。
AWSのLambda開発関連で、ライトな開発や、ちょっと、こんな事を自動化したい!等も、お気軽に問い合わせください。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?