- Install docker
- Install docker-compose
- Don't forget Post-install section (for linux)
- Add an alias for
docker-composefor ease use
echo "alias dcdev='docker-compose -f docker-compose-dev.yml'" >> ~/.bashrc
# For Oh My Zsh
echo "alias dcdev='docker-compose -f docker-compose-dev.yml'" >> ~/.zshrc- Reload your rc file
. ~/.bashrc
# For Oh My Zsh
. ~/.zshrc- For Redis, add
vm.overcommit_memory = 1to your/etc/sysctl.conf
- Copy and edit
.envfile
cp docker_dev/.env_docker.example docker_dev/.env_docker- Build an image
dcdev build- Run app
dcdev up- Create a Database and run migrations
dcdev run web bundle exec rails db:setup
# or
dcdev run web bundle exec rails db:create
dcdev run web bundle exec rails db:schema:load
dcdev run web bundle exec rails db:seed- Run
dcdev upand you are good to go. - To run any Rails related command, just shell
dcdev run web bashand execute anything you want inside container. - You can use or add any aliases you want, see
docker_dev/Dockerfile. Don't forget to rebuild an image: Rundcdev downto stop everything anddcdev buildto rebuild - You might have an issues on Linux OS with permissions on files that created by Docker. Just run chown
sudo chown -R YOUR_USER:YOUR_GROUP .
- Place
binding.pryor any other debugger in a place you need - Run
docker attach CONTAINER_NAME_web_1to access console (Note that there might be some issues, see docker/compose#423 (comment))