fly-apps / dockerfile-node

Dockerfile generator for Node.js
154 stars 5 forks source link

Prevent `dist` folders from static apps from being ignored #91

Open lubien opened 6 months ago

lubien commented 6 months ago

A friend had a dockerfile like this:

# syntax = docker/dockerfile:1

# Adjust NODE_VERSION as desired
ARG NODE_VERSION=18.7.0
FROM node:${NODE_VERSION}-slim as base

LABEL fly_launch_runtime="NodeJS"

# NodeJS app lives here
WORKDIR /app

# Set production environment
ENV NODE_ENV=production
ENV VITE_API_BASE_URL="https://japu-backoffice-dev.fly.dev/api/v1"
ARG YARN_VERSION=1.22.19
RUN npm install -g yarn@$YARN_VERSION --force
RUN npm install -g @quasar/cli

# Throw-away build stage to reduce size of final image
FROM base as build

# Install packages needed to build node modules
RUN apt-get update -qq && \
  apt-get install -y python-is-python3 pkg-config build-essential

# Install node modules
COPY --link package.json yarn.lock ./

COPY . .

RUN yarn install --production=false

RUN npx quasar build

FROM pierrezemb/gostatic

# Copy built application
COPY --from=build /app/dist/spa /srv/http

And they tried to deploy and got an issue like:

=> ERROR [2/2] COPY ./dist/spa/ /srv/http/                               0.0s 
------
[2/2] COPY ./dist/spa/ /srv/http/:
------

Because during launch they got asked to create a .dockerignore and accepted it. Probably it contained a line to ignore dist.

rubys commented 6 months ago

It looks like it is a general problem:

8   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/yarn.lock": not found
4   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/package-lock.json": not found
2   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/app": not found
2   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/pnpm-lock.yaml": not found
2   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/prisma": not found
1   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/.gitignore": not found
1   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/apps/l192-notification": not found
1   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/dist": not found
1   failed to fetch an image or build from source: error building: failed to solve: failed to compute cache key: failed to calculate checksum of ref xxxxxxxx "/frontend": not found

ignore looks like it could be useful