13note.

なんか調べたりまとめたり感想言ったりする語彙力不足及び眠気と戦うブログ

Dockerチャレンジ1年生 3

とりあえずrailsが動く環境がほしい。 以下サイトを参考に。

【Docker入門】Docker composeでRuby on Rails開発環境を構築する | SPIN OFF(スピンオフ)

docker run -it --rm -v /Users/xxxxx/Work/docker/box_1/app:/app ruby:2.5.3-alpine sh

appサーバの雛形。
macディレクトリのセンスがいまいちわからない…。

apk add --no-cache --virtual build-dependencies --update \
build-base \
linux-headers \
mariadb-client \
mariadb-dev \
tzdata \
nodejs \
yarn 

開発キット、とのことだが何が何やらなので調べる。

  • apk
    Alpine Linuxという軽量なLinuxディストリビューションのパッケージ管理ツール
  • apk add --no-cache --virtual build-dependencies ダウンロード時に「--no-chache」オプション付与でインストール時に出るゴミファイルを処理後に掃除
    --virtual は任意の名前(この場合 build-dependencies)を借りの名前として、あとで掃除するときに一括で消せる
  • build-base
    (具体的になんのパッケージなのかわからない。公式らしき情報にはMeta package for build base.)
  • linux-headers
    ドライバなどのカーネルモジュールをコンパイルするときに必要になる…もの?とのこと
  • mariadb-client
    マリアDBクライアント(なんとなく察する)
  • mariadb-dev
    マリアDB開発ライブラリ(とてもfatだから注意なんて記事もあったが…大丈夫か

alpine linux+Dockerでmysqlを使用したアプリを作る際に気をつけたいこと - Qiita

  • tzdata
    タイムゾーンのデータ
  • nodejs
    言わずとしれた
  • yarn パッケージマネージャー

cd /app
bundle init
apk add vim
vim Gemfile

Gemfile の修正(gem rails の有効化)
bundle install
railsのインストール(webpack入)
bundle exec rails new . -d mysql --webpack
とここまでやって、exitしたあとappディレクトリを消してしまう(^o^)
再度雛形を作り直して今度はdocker-compose build実行
docker-compose.yamlのコメントが影響していたらしくエラーが。コメントを修正して実行。
初回なのでdb createをさせて、you're on rails!画面が無事表示された。