概要
AWS Amplifyの開発環境のdocker-compose.ymlとDockerfileを作成しました。
なぜ作ったか?
久しぶりにローカルでAmplifyでの開発を行おうとすると、nodeやpythonが古かったり、amplify pushにはpipenv、pip3が必要だと言われたりで環境を整えるのに時間がかかってしまったので、開発環境のdocker化を行いました。
前提条件
amplifyでの開発をローカル環境で行なっている。
Dockerfileの作成
node.jsとpythonが入っているイメージを使用します。
Dockerfile
FROM nikolaik/python-nodejs:python3.8-nodejs12
# amplify CLI
RUN npm install -g @aws-amplify/cli
WORKDIR /var/www/app
docker-compose.ymlの作成
docker-compose.yml
version: '3'
services:
amplify:
build: ./
ports:
- "8080:8080"
- "20002:20002"
volumes:
- .:/var/www/app
- ~/.aws/:/root/.aws/
tty: true
command: "npm run serve"
ビルドとコンテナ立ち上げ
上記の2ファイルをローカル環境のamplifyプロジェクトの直下におきます。
$ docker-compose build
でビルドして
$ docker-compose up
でコンテナを立ち上げればローカル環境が立ち上がります。
この状態でlocalhost:8080をブラウザで開くと、起動を確認できます。
$ docker-compose exec amplify bash
でコンテナの中に入り、
amplify push
を叩くこともできました。