mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-11-10 16:31:22 +08:00
Build bundle dependencies in separate docker volume [SCI-1199]
This commit is contained in:
parent
c57589781c
commit
cb22aa47ba
4 changed files with 40 additions and 36 deletions
17
Dockerfile
17
Dockerfile
|
|
@ -9,29 +9,18 @@ RUN apt-get update -qq && \
|
||||||
default-jre-headless \
|
default-jre-headless \
|
||||||
unison \
|
unison \
|
||||||
sudo graphviz --no-install-recommends \
|
sudo graphviz --no-install-recommends \
|
||||||
sudo libfile-mimeinfo-perl && \
|
libfile-mimeinfo-perl && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# heroku tools
|
# heroku tools
|
||||||
RUN wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
|
RUN wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
|
||||||
|
|
||||||
# install gems
|
ENV BUNDLE_PATH /usr/src/bundle
|
||||||
COPY Gemfile* /tmp/
|
RUN mkdir $BUNDLE_PATH
|
||||||
COPY addons /tmp/addons
|
|
||||||
WORKDIR /tmp
|
|
||||||
RUN bundle install
|
|
||||||
RUN rm -rf addons
|
|
||||||
|
|
||||||
# create app directory
|
# create app directory
|
||||||
ENV APP_HOME /usr/src/app
|
ENV APP_HOME /usr/src/app
|
||||||
RUN mkdir $APP_HOME
|
RUN mkdir $APP_HOME
|
||||||
WORKDIR $APP_HOME
|
WORKDIR $APP_HOME
|
||||||
RUN mkdir addons
|
|
||||||
RUN ln -s $(readlink -f addons) /tmp
|
|
||||||
|
|
||||||
# container user
|
|
||||||
RUN groupadd scinote
|
|
||||||
RUN useradd -ms /bin/bash -g scinote scinote
|
|
||||||
USER scinote
|
|
||||||
|
|
||||||
CMD rails s -b 0.0.0.0
|
CMD rails s -b 0.0.0.0
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,15 @@ RUN apt-get update -qq && \
|
||||||
netcat \
|
netcat \
|
||||||
default-jre-headless \
|
default-jre-headless \
|
||||||
sudo graphviz --no-install-recommends \
|
sudo graphviz --no-install-recommends \
|
||||||
sudo libfile-mimeinfo-perl && \
|
libfile-mimeinfo-perl && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# install gems
|
# install gems
|
||||||
COPY Gemfile* /tmp/
|
COPY Gemfile* /tmp/
|
||||||
|
COPY addons /tmp/addons
|
||||||
WORKDIR /tmp
|
WORKDIR /tmp
|
||||||
RUN bundle install
|
RUN bundle install
|
||||||
|
RUN rm -rf addons
|
||||||
|
|
||||||
# create app directory
|
# create app directory
|
||||||
ENV APP_HOME /usr/src/app
|
ENV APP_HOME /usr/src/app
|
||||||
|
|
|
||||||
2
Makefile
2
Makefile
|
|
@ -53,7 +53,7 @@ rails-production:
|
||||||
run:
|
run:
|
||||||
rm tmp/pids/server.pid || true
|
rm tmp/pids/server.pid || true
|
||||||
@docker-compose up -d
|
@docker-compose up -d
|
||||||
@docker attach $(shell docker-compose ps web | grep "rails s" | awk '{ print $$1; }')
|
@docker attach scinote_web_development
|
||||||
|
|
||||||
start:
|
start:
|
||||||
@docker-compose start
|
@docker-compose start
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,35 @@
|
||||||
|
version: '2.1'
|
||||||
dbdata:
|
services:
|
||||||
image: busybox
|
|
||||||
volumes:
|
|
||||||
- /var/lib/postgresql
|
|
||||||
command: "true"
|
|
||||||
|
|
||||||
db:
|
db:
|
||||||
|
container_name: scinote_db_development
|
||||||
image: postgres:9.4
|
image: postgres:9.4
|
||||||
volumes_from:
|
volumes:
|
||||||
- dbdata
|
- scinote_development_postgres:/var/lib/postgresql/data
|
||||||
|
|
||||||
web:
|
web:
|
||||||
build: .
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
image: scinote_web_development
|
||||||
|
container_name: scinote_web_development
|
||||||
stdin_open: true
|
stdin_open: true
|
||||||
tty: true
|
tty: true
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "3000:3000"
|
||||||
|
command: >
|
||||||
|
bash -c "rm -f /usr/src/app/tmp/pids/server.pid &&
|
||||||
|
(bundle check || bundle install) &&
|
||||||
|
bundle exec rails s -b 0.0.0.0"
|
||||||
|
environment:
|
||||||
|
- RAILS_ENV=development
|
||||||
volumes:
|
volumes:
|
||||||
- .:/usr/src/app
|
- .:/usr/src/app
|
||||||
links:
|
- scinote_development_bundler:/usr/src/bundle
|
||||||
- db
|
- scinote_development_files:/usr/src/app/public/system
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
scinote_development_postgres:
|
||||||
|
scinote_development_bundler:
|
||||||
|
scinote_development_files:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue