12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

App Engineのローカル開発サーバーdev_appserver.pyの使い方

Last updated at Posted at 2017-08-11

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

以上です。

12
8
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
12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?