refactor light dockerfile
This commit is contained in:
parent
56c501c499
commit
dca0970475
1 changed files with 30 additions and 33 deletions
|
@ -5,46 +5,43 @@ ENV \
|
|||
CHOKIDAR_USEPOLLING=1 \
|
||||
CHOKIDAR_INTERVAL=500
|
||||
|
||||
RUN set -ex; \
|
||||
export DEBIAN_FRONTEND=noninteractive; \
|
||||
groupadd -r node; \
|
||||
useradd -r -g node node; \
|
||||
apt-get -qq update; \
|
||||
apt-get -y --no-install-recommends install \
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
groupadd -r node && \
|
||||
useradd -r -g node node && \
|
||||
apt-get -qq update && \
|
||||
apt-get install -y --no-install-recommends --no-install-suggests \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg; \
|
||||
mkdir -p /etc/apt/keyrings; \
|
||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg; \
|
||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list; \
|
||||
apt-get -qq update; \
|
||||
apt-get install -y nodejs; \
|
||||
npm i -g npm@latest; \
|
||||
apt-get -y remove curl gnupg; \
|
||||
apt-get -y --purge autoremove; \
|
||||
apt-get clean; \
|
||||
rm -rf /var/lib/apt/lists/*;
|
||||
gnupg && \
|
||||
mkdir -p /etc/apt/keyrings && \
|
||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
|
||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
|
||||
apt-get -qq update && \
|
||||
apt-get install -y --no-install-recommends --no-install-suggests nodejs && \
|
||||
npm i -g npm@latest && \
|
||||
apt-get -y remove curl gnupg && \
|
||||
apt-get -y --purge autoremove && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
EXPOSE 8080
|
||||
WORKDIR /usr/src/app
|
||||
COPY . .
|
||||
|
||||
RUN mkdir -p /data; \
|
||||
chown node:node /data; \
|
||||
mkdir -p /usr/src/app;
|
||||
RUN npm config set maxsockets 1 && \
|
||||
npm config set fetch-retries 5 && \
|
||||
npm config set fetch-retry-mintimeout 100000 && \
|
||||
npm config set fetch-retry-maxtimeout 600000 && \
|
||||
npm install --omit=dev && \
|
||||
chown -R root:root . && \
|
||||
chmod +x ./docker-entrypoint.sh
|
||||
|
||||
RUN mkdir -p /data && chown node:node /data
|
||||
VOLUME /data
|
||||
|
||||
WORKDIR /data
|
||||
|
||||
COPY / /usr/src/app
|
||||
|
||||
RUN cd /usr/src/app; \
|
||||
npm config set maxsockets 1; \
|
||||
npm config set fetch-retries 5; \
|
||||
npm config set fetch-retry-mintimeout 100000; \
|
||||
npm config set fetch-retry-maxtimeout 600000; \
|
||||
npm install --omit=dev; \
|
||||
chown -R root:root /usr/src/app; \
|
||||
chmod +x /usr/src/app/docker-entrypoint.sh;
|
||||
EXPOSE 8080
|
||||
|
||||
USER node:node
|
||||
|
||||
|
|
Loading…
Reference in a new issue