Docker
docker-compose を使わずにDocker環境を構築します。
以下の内容のDockerfileを作成します。
FROM localstack/localstack:2.0.2
Dockerfileがあるディレクトリで以下を実行して、Dockerイメージを作成します。
docker build -t localstack .
以下を実行して、コンテナを起動します。
docker run -itd -p 4566:4566 -v G:\docker\localstack:/docker --name localstack localstack /bin/bash注意 オプションvで指定しているのは共有ディレクトリで、これはWindows用の設定になります。
動作確認
LocalStackが正常動作しているかの確認は、ヘルスチェックを使うか、LocalStackコマンドを使う方法があります。
ヘルスチェック
LocalStackのヘルスチェックは以下で実行できます。
curl http://localhost:4566/health | jq注意 これは結果のJSONを整形するため、jqコマンドを使っています。
正常だと以下のような有効サービスの一覧がJSON形式で返ってきます。
{ "services": { "acm": "available", "apigateway": "available", "cloudformation": "available", "cloudwatch": "available", "config": "available", "dynamodb": "available", "dynamodbstreams": "available", "ec2": "available", "es": "available", "events": "available", "firehose": "available", "iam": "available", "kinesis": "available", "kms": "available", "lambda": "available", "logs": "available", "opensearch": "available", "redshift": "available", "resource-groups": "available", "resourcegroupstaggingapi": "available", "route53": "available", "route53resolver": "available", "s3": "available", "s3control": "available", "secretsmanager": "available", "ses": "available", "sns": "available", "sqs": "available", "ssm": "available", "stepfunctions": "available", "sts": "available", "support": "available", "swf": "available", "transcribe": "available" }, "version": "2.0.2" }
LocalStackコマンド
以下のLocalStackコマンドで有効サービスが確認できます。
localstack status services公式のDockerイメージを使っていて、そのコンテナ内にいる場合は、localstackコマンドのパスが無いので、以下を実行します。
/opt/code/localstack/bin/localstack status services
実行結果は以下のようになります。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Service ┃ Status ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩ │ acm │ ✔ available │ │ apigateway │ ✔ available │ │ cloudformation │ ✔ available │ │ cloudwatch │ ✔ available │ │ config │ ✔ available │ │ dynamodb │ ✔ available │ │ dynamodbstreams │ ✔ available │ │ ec2 │ ✔ available │ │ es │ ✔ available │ │ events │ ✔ available │ │ firehose │ ✔ available │ │ iam │ ✔ available │ │ kinesis │ ✔ available │ │ kms │ ✔ available │ │ lambda │ ✔ available │ │ logs │ ✔ available │ │ opensearch │ ✔ available │ │ redshift │ ✔ available │ │ resource-groups │ ✔ available │ │ resourcegroupstaggingapi │ ✔ available │ │ route53 │ ✔ available │ │ route53resolver │ ✔ available │ │ s3 │ ✔ available │ │ s3control │ ✔ available │ │ secretsmanager │ ✔ available │ │ ses │ ✔ available │ │ sns │ ✔ available │ │ sqs │ ✔ available │ │ ssm │ ✔ available │ │ stepfunctions │ ✔ available │ │ sts │ ✔ available │ │ support │ ✔ available │ │ swf │ ✔ available │ │ transcribe │ ✔ available │ └──────────────────────────┴─────────────┘