Skip to content

Latest commit

 

History

History
73 lines (60 loc) · 1.61 KB

README_DOCKER.md

File metadata and controls

73 lines (60 loc) · 1.61 KB

Step

  • clone project
git clone [email protected]:kuyseng/rails_dockerize.git myapp
cd myapp
  • generate rails project
docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app ruby:2.6.6-slim-buster bash

$ gem install rails -v 6.1.3
$ rails new . --skip-bundle
brew install mkcert
brew install nss

mkcert -install

# need to generate these certs for every development pc
cd .dockerdev/certs
mkcert -cert-file vcap.me.crt -key-file vcap.me.key "*.vcap.me"
cp "$(mkcert -CAROOT)/rootCA.pem" ca.crt
  • change docker-compose
  1. RUBY_VERSION e.g 2.6.6-slim-buster
  2. NODE_MAJOR
  3. YARN_VERSION
  4. BUNDLER_VERSION
  5. Delete one of db i.e mysql or postgres depends on the app
  • change .dockerdev/Aptfile
  1. can delete unused dependencies
  2. or can add more
  • build image
docker-compose build app
  • setup project base on requirement
docker-compose run --rm app bash

$ rails webpacker:install
$ rake db:create db:migrate db:seed
  • Add new host for rails 6+
# config/development.rb
config.hosts << "app_name.vcap.me"
  • run the project
docker-compuse up -d

Commands

docker-compose up        # run project in foreground
docker-compose up -d     # run project in background
docker-compose down      # stop project

docker-compose ps        # show project status
docker-compose logs -f   # show project logs

docker-compose run --rm app bash   # login app container.
docker attach domainsnipe_app      # to attach for binding.pry