Skip to content

Instantly share code, notes, and snippets.

@defeated
Last active July 29, 2022 00:29
Show Gist options
  • Save defeated/5d1b7469d5fedb6d6b242f141c68c895 to your computer and use it in GitHub Desktop.
Save defeated/5d1b7469d5fedb6d6b242f141c68c895 to your computer and use it in GitHub Desktop.
Docker + Compose + Foreman + Alpine Linux + cssbundling-rails
.git/
log/
tmp/
config/*.key
config/credentials/*.key
lib version
ruby 3.1.2p20
gem 3.3.19
bundle 2.3.19
rails 7.0.3.1
foreman 0.87.2

Docker info:

Client:
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.8.2)
  compose: Docker Compose (Docker Inc., v2.7.0)
  extension: Manages Docker extensions (Docker Inc., v0.2.8)
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Server Version: 20.10.17

Run:

rails new DCFApp --minimal --database=sqlite3 --css sass
cd DCFApp/
docker compose up app

Output:

Attaching to dcfapp-app-1
dcfapp-app-1  | env: can't execute 'bash': No such file or directory
dcfapp-app-1 exited with code 127
services:
app:
build: .
ports: ["3000:3000"]
command: ["./bin/dev"]
volumes: [".:/app"]
# syntax=docker/dockerfile:1
FROM node:16.16.0-alpine3.16 AS base-node
FROM ruby:3.1.2-alpine3.16
WORKDIR /app
VOLUME /usr/local/bundle
EXPOSE 3000
# Install system dependencies
RUN apk add --no-cache build-base gcompat tzdata sqlite-dev
RUN gem update --system
# Install Node/Yarn from base-node stage
COPY --from=base-node /opt/yarn-v1.22.19/ /opt/yarn-v1.22.19/
COPY --from=base-node /usr/local/bin/ /usr/local/bin/
COPY --from=base-node /usr/local/lib/node_modules/ /usr/local/lib/node_modules/
# Install gems
COPY Gemfile* ./
RUN bundle install --jobs 4 --retry 3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment