前回は、docker-composeを使ってdocker imageをビルドする方法を学びました。
前回の記事はこちら👇
今回は、Railsのセットアップをやっていきたいと思います。
dockerとは少し関係のないセッションにはなりますが、Webアプリ開発環境構築の流れを理解するにはいい機会と思いますので、一緒にやっていきましょう!
👇前回のレクチャーで作ったコンテナに入り、rails newコマンドを実行します
1 2 3 4 5 6 7 8 9 |
<command> =========コンテナに入る=========== [~/Desktop/product-register] $ docker-compose exec web bash ===========rails環境構築============== root@bde6dee7b3c6:/product-register$ rails new . --force --database=postgresql --skip-bundle ============================セットアップ後のディレクトリを確認========================== root@bde6dee7b3c6:/product-register$ ls Dockerfile Gemfile.lock Rakefile bin config.ru docker-compose.yml log public test vendor Gemfile README.md app config db lib package.json storage tmp |
ディレクトリの中が環境に合わせてRailsのフレームワークに変わったのが確認できたかと思います。
ここでGemfileの中身を見てみると、ここも今の環境に合わせて書き換わっているのが分かります。
現在の環境に合わせて自動で書き換えてくれたので、今のGemfileでbundle installする必要があります。
👇今のコンテナを破棄し、新しいGemfileでビルドをし直します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<Command> =======コンテナをstopしてrmを実行========= [~/Desktop/product-register] $ docker-compose down Stopping product-register_web_1 ... done Removing product-register_web_1 ... done Removing network product-register_default ======コンテナが消えていることを確認======== [~/Desktop/product-register] $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES =======docker compose buildを実行=========== [~/Desktop/product-register] $ docker-compose up --build -d =======新しいコンテナが起動していることを確認========= [~/Desktop/product-register] $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1ffbf980bfdf product-register_web "irb" 12 minutes ago Up 12 minutes 0.0.0.0:3000->3000/tcp product-register_web_1 ========立てたコンテナの中に入る========= [~/Desktop/product-register] $ docker-compose exec web bash ========railsのサーバーを起動========= root@1ffbf980bfdf:/product-register$ rails s -b 0.0.0.0 |
以上でRailsのサーバーにアクセスできたかと思います。実際にサーバーを起動してみたい人はブラウザでlocalhost:3000と打ってみて下さい。DB部分の記載がないのでエラーが出ますけど。。笑
次回はdocker-composeにデータベース(PostgreSQL)部分を追記していきたいと思います。
では今回はこの辺で、バイバイ👋
コメントを残す