Dockerfile
# Ruby on Rails Development Environment FROM ruby:2.5.0 # Set up Linux RUN apt-get update RUN apt-get install -y build-essential inotify-tools libpq-dev nodejs libmariadbclient-dev WORKDIR /app EXPOSE 3000
docker-compose.yml
version: '3.2' services: db: image: mariadb environment: MYSQL_ALLOW_EMPTY_PASSWORD: "yes" web: build: . volumes: - type: bind source: . target: /app ports: - "3000:3000" depends_on: - db command: - ./run.sh
config/database.yml
development: adapter: mysql2 encoding: utf8 database: blog username: root host: db port: 3306
Gemfile
gem 'mysql2'
run.sh
#!/bin/sh set -e # Ensure the app's dependencies are installed echo "bundle install --without=production..." bundle install --without=production # Potentially Set up the database echo "bundle exec rake db:setup..." bin/rails db:setup # Start the web server echo "bin/rails s -p 3000 -b '0.0.0.0'..." bin/rails s -p 3000 -b '0.0.0.0'
권한 바꾸기
$ chmod +x run.sh
도커 컴포저 실행하기
$ docker-compose up