/dev-base

開発環境ベース

Primary LanguageDockerfileMIT LicenseMIT

dev-base

これは何か?

dockerを基盤にして開発するための雛形です。 このリポジトリをcloneした後は、プロジェクトに合わせて適宜編集してから使う想定です。

AWSなど外部サービスの認証情報を環境変数として渡す場合はEnviflesディレクトリ以下の.envに書いて渡す方針。

目次

よく使う?Docker関連のコマンド

起動 & 終了

docker-compose up -d --build
docker-compose down

コンテナ起動してる?

docker-compose ps

起動中のコンテナに入る(とりあえずbash)

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      # 未使用ボリューム

rubyコンテナ for Rails

  • 初期イメージの中身はDockerfiles/ruby.Dockerfileを参照。
  • Procfileを作ればovermindでも起動できるようにしてある。

初めの rails new まで

  • サーバ起動するときは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

nodeコンテナ for Amplify

docker-compose run node amplify init

nodeコンテナ for React

  • npx 使えるならそっちで。
  • サーバ起動するときはhost, portに気をつけましょう

create-react-app を TypeScript で

docker-compose run node npx create-react-app . --typescript
  => でけた

nodeコンテナ for Gatsby

  • gatsby-cliはグローバルに置いてます。
  • サーバ起動するときはhost, portに気をつけましょう

gatsby new まで

TypeScript のミニマムなスターターが欲しい・・

docker-compose run node gatsby new .
  => でけた

slsコンテナ

docker-compose run sls serverless --template aws-ruby

samコンテナ

samアプリはsamディレクトリ直下に置いてください・・

docker-compose run sam sam init --runtime ruby2.7
cp -fr sam/sam-app/* sam/
rm -fr sam/sam-app

localstackと同時に使う時は、ネットワークの指定に注意

docker-compose exec sam bash
sam local start-api --host 0.0.0.0 --docker-network docker-lan