Project

dockrails

0.11
No commit activity in last 3 years
No release in over 3 years
Docker + Rails + Mac + Dev = <3
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0
>= 0
~> 3.2

Runtime

~> 4.2
~> 0.4.0
 Project Readme

Gem Version Build Status Coverage Status

Simple CLI to Generate and Run a Rails environment with Docker!

(using Docker, Docker-Compose and Docker-Sync behind the scenes)

About

Many of us have been struggling to setup a usable and efficient docker development environment for Rails App

This Gem include a CLI that generate your docker environment then provide a simple command to run it.

Web/Job containers sync code base from your Rails App in realtime, letting you code on you Mac and run in the same time everything from the container

Bundler Gems, DB and Redis data are persisted across restart and you can use ByeBug or Pry out of the box easily.

Currently the CLI offers a Docker environment with the option of:

  • PGSQL or MYSQL Database
  • Redis Database
  • Web and Job (Sidekiq) container

You can expand this scope very easily by modifying the output docker files generated.

asciicast

Install

gem install dockrails

Requirements

Commands

Create a folder on top of your Rails App, add your App inside it, then run:

  • dockrails init

Answer the different questions to build your docker environment and then you are ready to run it!

Start the containers:

  • dockrails start

Stop/Remove the containers:

  • dockrails clean

Show live tail of logs:

  • dockrails logs

Show live tail of logs for a container:

  • dockrails logs web

Build/Rebuild the docker image:

  • dockrails build

Restart a container:

  • dockrails restart CONTAINER

Run a command inside a container:

  • dockrails run CONTAINER COMMAND (ex: dockrails run web bundle install)

Attach TTY to a container (ex: for debugging with ByeBug or Pry):

  • dockrails attach CONTAINER

Folder structure

my-docker-rails-env/
  bundle/
  data/
    sql/
    redis/
  Dockerfile
  docker-compose.yml
  docker-sync.yml
  YOUR_RAILS_APP/