Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- docker run -it --rm --user "$(id -u):$(id -g)"
- -v "$PWD":/usr/src/app -w /usr/src/app rails rails new --skip-bundle --api --database postgresql webapp
- cd webapp
- server {
- listen 80;
- server_name _;
- root /home/user/Desktop/me/docker-kubernets;
- passenger_enabled on;
- passenger_user app;
- passenger_ruby /usr/bin/ruby2.4;
- }
- env SECRET_KEY_BASE;
- env DATABASE_URL;
- env DATABASE_PASSWORD;
- FROM phusion/passenger-ruby24
- # Set correct environment variables.
- ENV HOME /root
- # Use baseimage-docker's init process.
- CMD ["/sbin/my_init"]
- # Additional packages: we are adding the netcat package so we can
- # make pings to the database service
- RUN apt-get update && apt-get install -y -o Dpkg::Options::="--force-confold" netcat
- # Enable Nginx and Passenger
- RUN rm -f /etc/service/nginx/down
- # Add virtual host entry for the application. Make sure
- # the file is in the correct path
- RUN rm /etc/nginx/sites-enabled/default
- ADD webapp.conf /etc/nginx/sites-enabled/webapp.conf
- # In case we need some environmental variables in Nginx. Make sure
- # the file is in the correct path
- ADD rails-env.conf /etc/nginx/main.d/rails-env.conf
- # Install gems: it's better to build an independent layer for the gems
- # so they are cached during builds unless Gemfile changes WORKDIR /tmp
- ADD Gemfile /tmp/
- ADD Gemfile.lock /tmp/
- RUN bundle install
- # Copy application into the container and use right permissions: passenger
- # uses the app user for running the application RUN mkdir /home/app/webapp
- COPY . /home/user/Desktop/me/docker-kubernets
- RUN usermod -u 1000 app
- RUN chown -R app:app /home/user/Desktop/me/docker-kubernets
- WORKDIR /home/user/Desktop/me/docker-kubernets
- # Clean up APT when done.
- RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
- EXPOSE 80
- #!/bin/sh
- echo "Waiting PostgreSQL to start on 5432..."
- while ! nc -z postgres 5432; do
- sleep 0.1
- done
- echo "PostgreSQL started"
- bin/rails db:migrate
- chmod +x setup.sh
- version: '2'
- services:
- webapp_setup:
- build: .
- depends_on:
- - postgres
- environment:
- - PASSENGER_APP_ENV=development
- entrypoint: ./setup.sh
- webapp:
- container_name: webapp
- build: .
- depends_on:
- - postgres
- - webapp_setup
- environment:
- - PASSENGER_APP_ENV=development
- ports:
- - "80:80"
- volumes:
- - .:/home/user/Desktop/me/docker-kubernets
- postgres:
- image: postgres:10.2.1
- environment:
- - POSTGRES_PASSWORD=mysecretpassword
- - POSTGRES_USER=webapp
- - POSTGRES_DB=webapp_development
- volumes_from:
- - postgres_data
- postgres_data:
- image: postgres:10.2.1
- volumes:
- - /var/lib/postgresql/data
- command: /bin/true
- docker run --rm -v $(pwd):/usr/src/app -w /usr/src/app ruby:2.4.2 bundle lock
- Could not locate Gemfile
- ERROR: Service 'webapp_setup' failed to build: The command '/bin/sh -c bundle install' returned a non-zero code: 10
Add Comment
Please, Sign In to add comment