The following enhancements have been made to docker/docker-compose * Fixed bug when building the image. * docker-compose up starts the server * Scaffolding inside the container respect the ownership of the files outside it * Volumes are tagged as 'delegated' in order to improve performance for mac/windoze users. * bundler stores packages in a volume. This whay new packages can be added without rebuilding the image: ```bash docker-compose run app bundle install ```
41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
version: '3'
|
|
services:
|
|
# service configuration for our database
|
|
database:
|
|
|
|
# use the preferred version of the official Postgres image
|
|
# see https://hub.docker.com/_/postgres/
|
|
image: postgres:9.4.5
|
|
|
|
# persist the database between containers by storing it in a volume
|
|
volumes:
|
|
- docker-example-postgres:/var/lib/postgresql/data
|
|
|
|
# service configuration for our dockerized Rails app
|
|
app:
|
|
|
|
# use the Dockerfile next to this file
|
|
build: .
|
|
entrypoint: /usr/local/bin/entrypoint.sh
|
|
command: bundle exec rails s -p 3000 -b '0.0.0.0'
|
|
working_dir: /var/www/consul
|
|
|
|
# rely on the RAILS_ENV value of the host machine
|
|
# environment:
|
|
#RAILS_ENV: $RAILS_ENV
|
|
|
|
# makes the app container aware of the DB container
|
|
depends_on:
|
|
- database
|
|
|
|
# expose the port we configured Unicorn to bind to
|
|
ports:
|
|
- "3000:3000"
|
|
# map our application source code, in full, to the application root of our container
|
|
volumes:
|
|
- .:/var/www/consul:delegated
|
|
- bundle:/usr/local/bundle:delegated
|
|
volumes:
|
|
docker-example-postgres: {}
|
|
bundle: {}
|