fly-apps / fly-apps/dockerfile-node
Prevent `dist` folders from static apps from being ignored
Personne n'a encore pris cette issue.
- Langage dominant
- JavaScript
- Étoiles
- 187
- Forks
- 11
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par inspecter les flux .dockerignore et Dockerfile générés présentés dans l’issue, en particulier le COPY de la sortie dist de l’application statique. Confirmez comment les builds statiques sont gérés, puis assurez-vous que les règles d’exclusion générées laissent le dossier dist requis disponible pour la copie finale dans l’image ; vérifiez-le avec un déploiement d’application statique ou les checks existants du dépôt.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- docker, javascript
- Domaine
- devops
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100