This app demonstrates Rails 6 with PostgreSQL and Webpack (with jsbundling-rails), all running in Docker.
NOTE: There is also an example Rails 7 application working in Docker without Webpack or node.js
Please ensure you are using Docker Compose V2. This project relies on the docker compose
command, not the previous docker-compose
standalone program.
https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command
Check your docker compose version with:
% docker compose version
Docker Compose version v2.10.2
cp .env.example .env
docker compose build
docker compose run --rm web bin/rails db:setup
docker compose up
When the app is already running with docker-compose
up, attach to the container:
docker compose exec web bin/rails c
When no container running yet, start up a new one:
docker compose run --rm web bin/rails c
docker compose run --rm web bundle exec rspec
docker compose run --rm web bundle update
docker compose up --build
docker compose run --rm web yarn upgrade
docker compose up --build
Many Rails 6 apps will be or were created with the Webpacker gem. On January 19, 2022, Webpacker announed its retirement. As a result, it has been replaced in this repo with jsbundling-rails based on the recommendation in the announcement.
- https://docs.docker.com/compose/rails/
- https://rubyinrails.com/2019/03/29/dockerify-rails-6-application-setup/
- https://pragprog.com/book/ridocker/docker-for-rails-developers
- https://evilmartians.com/chronicles/ruby-on-whales-docker-for-ruby-rails-development
- https://medium.com/@cristian_rivera/cache-rails-bundle-w-docker-compose-45512d952c2d
- https://github.com/rails/jsbundling-rails/blob/main/docs/switch_from_webpacker.md
- https://dev.to/thomasvanholder/how-to-migrate-from-webpacker-to-jsbundling-rails-esbuild-5f2