エンジニアブログコンテンツへスキップぬるエンジニアブログぬるく生きてるエンジニアの暇つぶしに作ったブログhttps://www.null-engineer.com/2019/03/03/rails5-2%e3%81%a8docker%e3%81%a8webpacker%e3%81%a8%e3%80%90%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e7%b7%a8%e3%80%91/rails5.2とDockerとwebpackerとbootstrap4【インストール編】rails5.2とDockerとwebpackerとbootstrap4【インストール編】タイトルの通り、この記事ではDocker上で動くrails+webpackerのちょっとした経験を記述しようと思う。探してみるとwebpackerをrails上で動かす記事はまぁまぁある。webpackerがcssをjsにbundleする関係で単純にそのまま使うとFOUC問題が起きる。それに触れているサイトはほぼ皆無。自分でなんとかしてみた、というのがこの記事の趣旨である。ちなみにFOUCとは別サイトでは下記のように説明されている。Content)とは、Webページへアクセスした直後、CSSによるデザインが有効でないページが一瞬だけ表示される現象のことです。webpackerが動く状態を作らなければならない。準備として下記のGemfileを用意しておく。この記事を書いたときのrailsの最新バージョンは5.2.2だった。"rails"次にDockerfileを用意する。rubyの2.6で最新安定バージョンは存在するがparserがwarningを吐くので2.5系最新安定バージョンの2.5.3を利用する。updatewebpackerでnode系のインストールが必要なのでrubyイメージにnodeをインストールしている。最小構成のためカスタマイズは構成にあったものを用意して欲しい。次にdocker-compose用のファイルを用意する。docker-composeのサンプルdbはmysqlを選択する。docker-compose.yml次にdocker内でrailsの準備をしていく。してまずimageを作成する。docker内のwebコンテナに接続する。そのため、以降はコンテナ内で作業しているものと思って欲しい。ファイルの編集のみホストマシンから行っている。このあたりの命名はdocker-compose.ymlに従って適宜読み替えて欲しい。ちなみに筆者はmysql:5.7イメージを利用した。dockerコンテナにbashで接続したらrailsをセットアップする。railsをインストールする。--skip-sprocketsここでGemfileを上書きしても問題ないか聞かれると思うが筆者は上書きを選択した。cssやjsの管理はwebpacker上で行うのでsprocketsは必要ない。turbolinksもあまり良い噂を聞かないので最初からインストールしない。次にwebpacker4をインストールする。webpacker:install長くなったので記事を別ける。docker、rails、webpacker投稿ナビゲーションそうだ。rails6で開発を始めるrails5.2とDockerとwebpackerとbootstrap4【設定編】docker-composeのサンプルrails5.2とDockerとwebpackerとbootstrap4【インストール編】そうだ。