docker-composeのサンプル

docker-composeのサンプルポイントは以下の点

  • bundle installしたディレクトリを永続化する じゃないとコンテナ立ち上げるたびにbundle installが必要になる
  • depends_onでdbを先に起動させる
  • dbのdataディレクトリも永続化させる
version: '3'
services:
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/app
      - bundle-data:/usr/local/bundle
    ports:
      - 3000:3000
    depends_on:
      - db
    tty: true
    stdin_open: true
  db:
    image: mysql:5.7
    volumes:
      - db-data:/var/lib/mysql
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
volumes:
  db-data:
    driver: local
  bundle-data:
    driver: local

 

rails5.2とDockerとwebpackerとbootstrap4【インストール編】

タイトルの通り、この記事ではDocker上で動くrails+webpackerのちょっとした経験を記述しようと思う。
探してみるとwebpackerをrails上で動かす記事はまぁまぁある。
だがしかし、webpackerがcssをjsにbundleする関係で単純にそのまま使うとFOUC問題が起きる。

何故かそれに触れているサイトはほぼ皆無。

なので自分でなんとかしてみた、というのがこの記事の趣旨である。
ちなみにFOUCとは別サイトでは下記のように説明されている。

FOUC(Flash of Unstyled Content)とは、Webページへアクセスした直後、CSSによるデザインが有効でないページが一瞬だけ表示される現象のことです。

結論から言うと、webpackerのjsにbundleされるcssを分離してstaticファイルとして読み込めるようにするのが肝である

続きを読む