LoginSignup
2
0

More than 1 year has passed since last update.

既存WEB APPをDOCKER-CONPOSEを用いてDOCKER化する

Last updated at Posted at 2023-04-16

前提条件

  • 既存のWEBAPPがあること。今回はrails x postgresql環境で行っています。
  • dokcerがinstallされている、ある程度操作方法がわかる
  • docker-composeがinstallされている。
  • 本記事ではただDOCKER化するだけがゴールです

DOCKER化してみよう!

今回はこのような至って普通なrails appをdocker化してみます。
image
こちらを参考に環境構築しています。
僕はrailsやpostgresqlの知識さっぱりですが、docker化することができたので初心者も是非やってみましょう。

ここに用意するもの

docker-composeを利用し、docker化を行うために新たに必要なものは以下のとおりです。

  • Dockerfile
  • docker-compose.yml
    $touch コマンドで作成しましょう!
    image

Dockerfileを記述しよう

Dockerfileとはdocker化を行うためのコンテナの設計図みたいなものです。
今回はこのように記述しました。
nodeやyarn,rubyとpostgresqlのためにlibpq-devをインストールしたりrailsを起動するコマンドを設定したりしてます。既存のWEB APPによって異なります。

image

docker-compose.ymlを記述しよう

このようなに記述しました。
image

config/database.ymlに追記しよう

Rails側のデータベースの設定をしていきます
ENVでdocker-composeで記述した環境変数を読み取っています。

コマンドを打ち込んでいく

準備できたのでコマンドを打ち込んでいきます。手始めに$docker-compose build

info
Gemfile.lockでエラーが発生したら、空のGemfile.lockを作成し再度実行して下さい

buildが完了しました。
image

コンテナをrunする

次に$docker-compose upでコンテナをrunします。お好みで-dでデタッチで起動してもかまいません。
3000ポートでサーバー起動までできたら成功です。

webコンテナとdbコンテナがrunしているところが確認できます。

データベースの生成

最後にデータベースの生成を行います。$docker-compose run web rake db:crate後に$docker-compose exec web bashでターミナルの中に入り、rails db:migrateします。

localhost:3000で確認できたらdocker化成功です!おめでとうございます!

(エラーを解消する)

僕の場合、migrate後railsのエラーが発生したのでググって解決します。

色々やって

しっかりレンダリングされました。データの保持も確認できます。

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0