Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What is going on with this article?
@komeda-shinji

localstack を Docker on Mac 上で動かす

More than 3 years have passed since last update.

Docker on Mac のインストール

https://docs.docker.com/docker-for-mac/install/ から入手できます。
このドキュメントにしたがって、インストールします。

localstack パッケージの更新

pip でインストールしたパッケージは少し前まで、docker イメージが atlassianlabs/localstack になっていましたが、最近になって localstack/localstack に変更されています。

localstack パッケージは 最新版に更新しておいた方がよいでしょう。

pip install -U localstack

localstack を Docker on Mac 上で起動

Docker on Mac が動くようになったら、localstack--docker オプションをつけて起動します。
このとき、Docker for Mac の設定の Proxies のところで No proxy を選択して、プロキシを使用にないようにしておくことを推奨します。

$ localstack start --docker

docker イメージを自動的にダウンロードして、コンテナが起動されます。

Ready. が表示されれば、ローカル起動と同じように使用できます。

docker run で起動していますので、Ctrl-P Ctrl-Q でデタッチできます。

停止するときは、docker ps -a でコンテナIDを確認して、

docker stop コンテナID

で停止します。

再開するときは、

docker restart コンテナID

です。

localstack start --docker を実行すると、もうひとつ新しいコンテナを作ってしまいます。

WARNING:infra.pyc:Service "kinesis" not yet available, retrying... のあとエラーになる場合

Docker コンテナで起動したとき、次のようなエラーが出ることがあります。

WARNING:infra.pyc:Service "kinesis" not yet available, retrying...
ERROR:infra.pyc:Error checking state of local environment (after some retries): Traceback (most recent call last):
File "/opt/code/localstack/localstack/services/infra.py", line 285, in check_infra
raise e
TypeError: 'NoneType' object has no attribute '__getitem__'
Traceback (most recent call last):
File "bin/localstack", line 79, in <module>
infra.start_infra()
File "/opt/code/localstack/localstack/services/infra.py", line 359, in start_infra
raise e
TypeError: 'NoneType' object has no attribute '__getitem__'

このようなときは Docker for Mac の設定の Proxies のところで No proxy を選択して、プロキシを使用にないようにしてみてください。

プロキシを使う設定なっていると、Docker 内で起動した localstack がモックサーバの起動チェックをするときに、プロキシ経由でアクセスして、チェックに失敗することがあります。

6
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
6
Help us understand the problem. What is going on with this article?