From c3f97a776cfd0a41796e86c224fdeb72caed8e69 Mon Sep 17 00:00:00 2001 From: Gleb Rysev <gr00314@surrey.ac.uk> Date: Fri, 30 Apr 2021 14:17:26 +0100 Subject: [PATCH] More docker --- .env.docker | 3 +++ Dockerfile | 13 ++++++++----- docker-compose.yml | 19 ++++++++++--------- entrypoint.sh | 8 ++++++++ 4 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 .env.docker create mode 100644 entrypoint.sh diff --git a/.env.docker b/.env.docker new file mode 100644 index 0000000..986ee6e --- /dev/null +++ b/.env.docker @@ -0,0 +1,3 @@ +NODE_ENV=development +RAILS_ENV=development +WEBPACKER_DEV_SERVER_HOST=0.0.0.0 diff --git a/Dockerfile b/Dockerfile index e63ea0e..7bc6b20 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,18 +6,21 @@ FROM ruby:2.5.7 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app -EXPOSE 3000 -CMD ["rails", "server", "-b", "0.0.0.0"] - RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/* -RUN apt-get update && apt-get install -y default-mysql-client postgresql-client sqlite3 --no-install-recommends && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y default-mysql-client postgresql-client sqlite3 yarn --no-install-recommends && rm -rf /var/lib/apt/lists/* #RUN gem install bundler -v 1.17.3 COPY Gemfile /usr/src/app/ # Uncomment the line below if Gemfile.lock is maintained outside of build process COPY Gemfile.lock /usr/src/app/ - RUN bundle install COPY . /usr/src/app + +# COPY entrypoint.sh /usr/bin/ +# RUN chmod +x /usr/bin/entrypoint.sh +# ENTRYPOINT ["entrypoint.sh"] +EXPOSE 3000 + +CMD ["rails", "server", "-b", "0.0.0.0"] diff --git a/docker-compose.yml b/docker-compose.yml index df5a171..339202a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,18 @@ -version: "3" +version: '3' services: - db: - image: postgres + webpacker: + build: . + env_file: + - '.env.docker' + command: ./bin/webpack-dev-server volumes: - - ./tmp/db:/var/lib/postgresql/data - environment: - POSTGRES_PASSWORD: password + - .:/app + ports: + - '3035:3035' web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" volumes: - - .:/myapp + - .:/app ports: - "3000:3000" - depends_on: - - db diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..3cd8060 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +# Remove a potentially pre-existing server.pid for Rails. +rm -f /myapp/tmp/pids/server.pid + +# Then exec the container's main process (what's set as CMD in the Dockerfile). +exec "$@" -- GitLab