diff --git a/.dockerignore b/.dockerignore index 8c17f49..ef02ef7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,4 +3,6 @@ Dockerfile .git .gitignore -.dockerignore \ No newline at end of file +.dockerignore + +README.md \ No newline at end of file diff --git a/.gitignore b/.gitignore index b512c09..e206709 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -node_modules \ No newline at end of file +node_modules + +package-lock.json \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 37d5372..cdddad2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,27 +1,26 @@ -# FROM --platform=linux/amd64 node:19.2-alpine3.16 -# FROM --platform=$BUILDPLATFORM node:19.2-alpine3.16 -FROM node:19.2-alpine3.16 - -# cd app +# Dependencias de desarrollo +FROM node:19.2-alpine3.16 as deps WORKDIR /app - -# Dest /app COPY package.json ./ - -# Instalar las dependencias RUN npm install -# Dest /app +# Tests y Build +FROM node:19.2-alpine3.16 as builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules COPY . . - -# Realizar testing RUN npm run test -# Eliminar archivos/directorios no necesarios en PROD -RUN rm -rf tests && rm -rf node_modules - -# Unicamente las dependencias de PROD +# Dependencias de producción +FROM node:19.2-alpine3.16 as prod-deps +WORKDIR /app +COPY package.json ./ RUN npm install --prod -# Comando run de la imagen +# Ejecutar la App +FROM node:19.2-alpine3.16 as runner +WORKDIR /app +COPY --from=prod-deps /app/node_modules ./node_modules +COPY app.js ./ +COPY tasks/ ./tasks CMD [ "node", "app.js" ] \ No newline at end of file diff --git a/README.md b/README.md index 9b87cc7..0b9901b 100644 --- a/README.md +++ b/README.md @@ -16,14 +16,14 @@ npm start ### CMD ``` -# docker buildx build \ -# --platform linux/amd64,linux/arm64 \ -# -t emmartel/cron-ticker --push . +docker buildx build \ +--platform linux/amd64,linux/arm64 \ +-t emmartel/cron-ticker --push . ``` ### Dockerfile ``` # /app /usr /lib # FROM --platform=linux/amd64 node:19.2-alpine3.16 -# FROM node:19.2-alpine3.16 -FROM --platform=$BUILDPLATFORM node:19.2-alpine3.16 +# FROM --platform=$BUILDPLATFORM node:19.2-alpine3.16 +FROM node:19.2-alpine3.16 ```