Rails、Nuxt.js、MySQLのDocker環境を作成します。見つからなかったので、復習を兼ねてポストを作成します。作業ディレクトリは任意です。Nuxt用のディレクトリです。下記のファイルを修正していきます。.envdocker-compose.yml.envdocker-compose.ymlで参照する環境変数を記載します。ここではMySQLのrootパスワード、RailsおよびNuxt環境のホスト、ポート番号のみ定義します。番なので、後の利便性のためにいずれかを変えておきます。変更)MYSQL_ROOT_PASSWORD=passwordBACKEND_HOST=0.0.0.0BACKEND_PORT=3000FRONTEND_HOST=0.0.0.0FRONTEND_PORT=8080./docker-compose.yml.envで定義した変数を参照しています。同じ環境変数が定義されていた場合は、前者が使用されます。(本記事ではDockerfile単体でもイメージ作成できるように環境変数の記載を残していますが、docker-compose.ymlに定義されていれば問題ありません)下記はDockerボリュームを作成します。frontend-node_modules:backendRails環境構築のためのファイルを準備します。./backend/GemfileRailsのバージョンのみ指定しておきます。'5.2.3'./backend/Gemfile.lock空ファイルをtouchしておけばOKです。Linuxのパッケージは最低限のものだけインストールします。開発を進めるうちにgemのインストールで依存エラーが発生した場合には、不足パッケージを都度追加しましょう。"dev"]アプリケーション作成Rails、Nuxt環境にプロジェクトを作成します。実行したタイミングで、それぞれのDockerイメージがbuildされ、さらにコンテナが立ち上がります。指定するサービスが起動しないようにします。オプションで、アプリケーション作成を終えたコンテナが自動的に削除されるようにします。Railsアプリケーションを作成します。オプションでAPIモードにしていますが、不要な方は外してください。--skip-bundleDB接続のため、下記のファイルを修正します。MYSQL_ROOT_PASSWORD=password./backend/Gemfile.envから環境変数を読み込むdotenv-railsというgemを追加します。##./backend/config/database.ymlDBへのアクセスに使用するパスワードを、環境変数から取得します。Nuxtアプリケーションを作成します。後から追加/変更できるので、このタイミングではEnterキー連打でOKです。<Enter>Dockerイメージ作成アプリケーション作成時にできたDockerボリュームは削除しておきます。各ファイルを修正した状態で、Dockerイメージをビルドします。指定しているbackendとfrontendのイメージが作成されたことを確認します。オプション(デタッチモード)でバックグラウンド起動します。-dプロセスが立ち上がっていることを確認します。backendRailsアプリケーションのDBを作成します。