Dockerでrails new

Macのローカルでrails newする際に、最初にどこかにrailsが必要なのが嫌で、rails newで出来たディレクトリだけ欲しくて、Dockerfileを書いてみた。

https://github.com/ppworks/docker-rails_new

Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
FROM ruby:2.4.2-slim
MAINTAINER Naoto Koshikawa <koshikawa@ppworks.jp>

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update -qq && \
apt-get -y install build-essential # nio4r

RUN mkdir /app
WORKDIR /app
COPY Gemfile /app/Gemfile
RUN bundle install -j4

Gemfile

1
2
3
ruby '2.4.2'
source 'https://rubygems.org'
gem 'rails', '>= 5.1'

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
version: '3'
services:
rails-new:
build:
context: .
dockerfile: Dockerfile
volumes:
- ".:/app"
tty: true
stdin_open: true

rails new

1
2
3
cd ~/docker
git@github.com:ppworks/docker-rails_new.git dev
cd dev
1
docker-compose run --rm rails-new rails new your-awesome-app --skip-bundle

Dockerよくわかってないので、もっとかっこいい方法があるかもしれない。
次は、Docker上でrails sしてみたいと思う。

追記

2017-11-02 16:12
https://github.com/ppworks/docker-rails_new/pull/1
の内容を反映した。