forked from rmastudillo/vue3-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
production.Dockerfile
39 lines (27 loc) · 974 Bytes
/
production.Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
ARG NODE_VERSION=21-bookworm
# Imagen base
FROM node:${NODE_VERSION}
ARG NODE_ENV_USER=richi
ENV NODE_USER $NODE_ENV_USER
# Cambiar al usuario root para poder ejecutar comandos administrativos
USER root
# Actualizar, instalar paquetes necesarios y luego limpiar la caché
RUN apt-get update && \
apt-get install -y sudo && \
rm -rf /var/lib/apt/lists/*
# Cambiar el nombre del usuario "node" a "${NODE_USER}" si no existe y ajustar su home
RUN id -u ${NODE_USER} || \
(usermod -l ${NODE_USER} node && \
usermod -m -d /home/${NODE_USER} ${NODE_USER})
# Configurar sudo para el nuevo usuario
RUN echo "${NODE_USER} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${NODE_USER} && \
chmod -R 0440 /etc/sudoers.d/${NODE_USER}
# Cambiar de usuario a "${NODE_USER}" para las siguientes instrucciones
USER ${NODE_USER}
WORKDIR /usr/src/app
# Copia el contenido local al contenedor
COPY . .
RUN yarn install
RUN yarn build
expose 8080
CMD ["yarn","preview"]