dockerを基盤にして開発するための雛形です。 このリポジトリをcloneした後は、プロジェクトに合わせて適宜編集してから使う想定です。
AWSなど外部サービスの認証情報を環境変数として渡す場合はEnviflesディレクトリ以下の.envに書いて渡す方針。
目次
- よく使う?Docker関連のコマンド
- rubyコンテナ for Rails
- nodeコンテナ for Amplify
- nodeコンテナ for React
- nodeコンテナ for Gatsby
- slsコンテナ
- samコンテナ
docker-compose up -d --build
docker-compose down
docker-compose ps
docker-compose exec コンテナ名 bash
docker-compose restart コンテナ名
docker-compose run コンテナ名 コマンド
docker-compose run コンテナ名 bash -c "コマンド"
-a
オプションをつけるととにかく全部消せる
docker system prune # 未使用まとめて(ネットワーク、コンテナ、イメージ)
docker container prune # 未使用コンテナ
docker image prune # 未使用イメージ(中間イメージ、壊れたやつとか)
docker volume prune # 未使用ボリューム
- 初期イメージの中身はDockerfiles/ruby.Dockerfileを参照。
- Procfileを作ればovermindでも起動できるようにしてある。
- サーバ起動するときはhost, portに気をつけましょう
# Gemfileを作成する
docker-compose run rails bundle init
# gem のインストールパスを指定する
docker-compose run rails bundle config set path 'vendor/bundle'
# railsインストール
docker-compose run rails bundle install
# Railsアプリケーション作成, オプションは任意(データベースなど)
docker-compose run rails bundle exec rails new . --force --skip-bundle
# セットアップ
docker-compose run rails bin/setup
-
amplify-cliはグローバルに置いてます。
-
team-provider-info.json は .gitignore 済み
docker-compose run node amplify init
npx
使えるならそっちで。- サーバ起動するときはhost, portに気をつけましょう
docker-compose run node npx create-react-app . --typescript
=> でけた
- gatsby-cliはグローバルに置いてます。
- サーバ起動するときはhost, portに気をつけましょう
TypeScript のミニマムなスターターが欲しい・・
docker-compose run node gatsby new .
=> でけた
-
serverlessはグローバルに置いてます。
-
まぁ、sam-cliと迷うよね
docker-compose run sls serverless --template aws-ruby
-
aws sam-cliはホストのdockerを使うようにしてます。
-
まぁ、serverlessと迷うよね
samアプリはsamディレクトリ直下に置いてください・・
docker-compose run sam sam init --runtime ruby2.7
cp -fr sam/sam-app/* sam/
rm -fr sam/sam-app
- bundle installを忘れないように・・・(aws/aws-sam-cli#865)
localstackと同時に使う時は、ネットワークの指定に注意
docker-compose exec sam bash
sam local start-api --host 0.0.0.0 --docker-network docker-lan