App Engineのローカル開発サーバーdev_appserver.py
でよく使うオプション。
#普通に起動。
$ dev_appserver.py app.yaml
http://localhost:8080
で確認。管理コンソールはhttp://localhost:8000
。
#datastoreの保存ディレクトリを指定して起動。
複数のプロジェクトを切り替えながら開発するときなどに混ざらないように。
$ dev_appserver.py --datastore_path=.datastore app.yaml
.(ドット)で始まるディレクトリ名にしておくとデプロイ時にスキップされます。
app.yamlのskip_files:で明示的に指定してもOK。
#ローカルホストのポート番号を指定して起動。
複数のプロジェクトを並行して開発するときなどdev_appserver.pyを複数起動したい場合。
$ dev_appserver.py --port=8081 --admin_port=8001 --datastore_path=.datastore app.yaml
Dockerコンテナで起動。
公式のイメージを取得。いちばん軽量なAlpine linuxでの場合。
$ docker pull google/cloud-sdk:alpine
Dockerfileです。
FROM google/cloud-sdk:alpine
MAINTAINER syousei
RUN gcloud components install app-engine-python
RUN mkdir /app_source
VOLUME /app_source
EXPOSE 8000:8000 8080:8080
ビルドします。
$ docker build -t syousei/appengine-python:alpine .
Dockerコンテナ内からgcloudコマンドを使えるようにしたい場合は認証を通します。
このコマンドを打つと表示されるURLをブラウザで開いて認証トークンが表示されたらそれを打ち込むと認証されます。
$ docker run -ti --name [DOCKER CONTAINER NAME] syousei/appengine-python:alpine gcloud auth login
ランします。
$ docker run -it -v C:\Projects\[PROJECT NAME]\app_source:/app_source -p 8080:8080 -p 8000:8000 --name=[DOCKER CONTAINER NAME] syousei/appengine-python:alpine
dev_appserver.pyを起動します。
$ docker exec -itd [DOCKER CONTAINER NAME] dev_appserver.py --host 0.0.0.0 --admin_host 0.0.0.0 --datastore_path=/tmp/datastore /app_source/app_dev.yaml
以上です。