ハコベルカーゴのサーバサイドの開発を担当している貞元です。ハコベルカーゴの運用のためのWebアプリケーションが、サービス本体とは別に存在します。こちらは改善や変更の必要なく、長期間コミットがない状況となっていました。時間が経つことにより、完全に理解できている人は減っている事態となっていました。久々に手を入れる必要ができたので、まずは開発環境を構築して対応していこうということになりました。Composeで構築した内容を紹介します。ハコベルカーゴとは荷物を送りたい荷主と、空いた時間に仕事を受注したい運送事業者を直接つなぐマッチングサービスです。詳しくはこちらを見てみてくださいね。MacdirenvDocker関連ファイル一旦、Docker関連のファイルを全て記載し、注目ポイントについては別途記載します。すべてRAILS_ROOTへ配置したものとなります。Macのマウントは遅いです。そのため、Railsアプリのコードをコンテナにマウント設定にオプションを追加しています。詳しくはこちらを参照ください。yarnpkgRailsは、rubyとnodeを合わせて使用することが多いです。nodeのDockerイメージを作成しています。なり、マウントしたホストディレクトリのファイルのオーナーがrootになります。そのため、以下のような方法でホストと同じユーザー・グループでappコンテナの実行ユーザー・グループを変更しています。Macはユーザー・グループを変換してくれているみたいで、この内容を実施しなくても大丈夫です。serverRailsにはspringというpreloader機能がありますが、各コンテナが別れているため有効に使えません。そのため、環境変数SPRING_SOCKETを指定し、volumeで永続化したところへパスを指定すれば別々のコンテナでもspringを共有でき、Railsタスクの実行等が早くなります。binding.pryを使うことがあると思います。upの場合は入力待ち状態にならないため、別途dockerのコンテナに接続する必要があります。まとめ社内で使用するアプリケーションなど、正常に動いていると改善や変更が長期間ないものがあると思います。時間が経つことによって、ミドルウェアのバージョンやその他環境の変化も出てくると思うので、今回のようにDockerを使用して環境に依存しない構築手順を用意しておくのはいかがでしょうか。採用情報のご案内ラクスルではエンジニア・プロダクトマネージャーを募集中!募集内容は以下のリンクをご確認ください。よるフロントエンド開発...こんにちは。サーバーサイドエンジニアの藤本です。t...2018-08-03運用中のRailsプロジェクトをなめらかに複数DB化した話エンジニアの二串です。地域LT会はじめました。eventハコベルテックブログ注目記事はてなブログをはじめよう!raksuldevさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。