Open6
RailsとMySQLをDockerで動かすぞ

Dockerの理解から始めよう

やってみる

実は...
RailsのImageはこうして存在しているので、これを使った方が早いかもしれない

MySQLの永続化を行う

# Ruby on RailsのイメージをPull
FROM ruby:3.2.7
# コンテナの作業ディレクトリを変更する
WORKDIR /rails-app
# 必要なパッケージを記載したファイルをコンテナ側にコピーする
# (この指定がないと動かないくさい。なんでやろ)
COPY ./rails/Gemfile ./rails/Gemfile.lock /rails-app/
# 必要なパッケージをインストール
RUN bundle install
# サーバを起動する
CMD ["rails","server","-b","0.0.0.0","-p","80"]
services:
front:
container_name: home_rails
depends_on:
- db # 先にデータベースを起こす
build:
context: .
dockerfile: Dockerfile
volumes:
- ./rails:/rails-app
ports:
- 80:80
networks:
- connect
stdin_open: true
db:
container_name: home_db
image: mysql:latest
volumes:
- db-data:/var/lib/mysql # これで名前付きボリュームを作る
networks:
- connect
volumes:
db-data: # これで永続化な覚えがある
networks:
connect:
driver: bridge

処分