(社内の特殊な環境を移行した際のメモです)
rubyのイメージでうまく環境を構築できなかった(=既存のrails環境のGemfileと一致するバージョンのgemが揃わなかった)ため、Ubuntuのイメージから出発してRailsの環境を構築した際の設定です。
docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
volumes:
- ./tmp/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=secret
web:
build: .
command: "rails s -p 3000 -b '0.0.0.0'"
volumes:
- ./:/railsapp
ports:
- "3000:3000"
depends_on:
- db
Dockerfile
FROM ubuntu:18.04
RUN apt-get update && apt-get upgrade && apt-get install -y \
ruby-dev libmysqlclient-dev libmagick++-dev libcurl4-openssl-dev libssl-dev nodejs \
&& gem install rails -v "~> 5.2" -N && gem install bundler -v "~> 1.16"
RUN mkdir /railsapp
WORKDIR /railsapp
COPY ./ /railsapp
RUN bundle install