Skip to content

Commit 98fdcdc

Browse files
committed
Enhance Docker & Add Alpine image
1 parent a20ebdc commit 98fdcdc

File tree

2 files changed

+61
-6
lines changed

2 files changed

+61
-6
lines changed

Dockerfile

+16-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
1-
FROM debian:bullseye
1+
ARG APT_SOURCE="default"
22

3+
FROM node:19 as builder-default
4+
ENV NPM_REGISTRY="https://registry.npmjs.org"
5+
6+
FROM node:19 as builder-aliyun
7+
8+
ENV NPM_REGISTRY="https://registry.npmmirror.com"
9+
RUN sed -i s/deb.debian.org/mirrors.aliyun.com/g /etc/apt/sources.list \
10+
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
11+
12+
FROM builder-${APT_SOURCE} AS builder
313
# Instal the 'apt-utils' package to solve the error 'debconf: delaying package configuration, since apt-utils is not installed'
414
# https://peteris.rocks/blog/quiet-and-unattended-installation-with-apt-get/
515
RUN apt-get update \
@@ -31,16 +41,16 @@ RUN apt-get update \
3141
&& apt-get purge --auto-remove \
3242
&& rm -rf /tmp/* /var/lib/apt/lists/*
3343

34-
RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - \
35-
&& apt-get update && apt-get install -y --no-install-recommends nodejs \
36-
&& apt-get purge --auto-remove \
37-
&& rm -rf /tmp/* /var/lib/apt/lists/*
44+
FROM builder
45+
46+
ENV CHROME_BIN="/usr/bin/chromium" \
47+
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
3848

3949
RUN mkdir -p /app
4050
WORKDIR /app
4151

4252
COPY package.json ./
43-
RUN npm i
53+
RUN npm config set registry ${NPM_REGISTRY} && npm i
4454

4555
COPY *.js ./
4656
COPY src/ ./src/

Dockerfile.alpine

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
ARG APT_SOURCE="default"
2+
3+
FROM node:19-alpine as base
4+
RUN apk update && \
5+
apk upgrade && \
6+
apk add --no-cache bash \
7+
ca-certificates \
8+
chromium-chromedriver \
9+
chromium \
10+
coreutils \
11+
curl \
12+
ffmpeg \
13+
figlet \
14+
jq \
15+
moreutils \
16+
ttf-freefont \
17+
udev \
18+
vim \
19+
xauth \
20+
xvfb \
21+
&& rm -rf /tmp/* /var/cache/apk/*
22+
23+
24+
FROM base as builder-default
25+
ENV NPM_REGISTRY="https://registry.npmjs.org"
26+
27+
FROM base as builder-aliyun
28+
ENV NPM_REGISTRY="https://registry.npmmirror.com"
29+
30+
31+
FROM builder-${APT_SOURCE}
32+
33+
ENV CHROME_BIN="/usr/bin/chromium-browser" \
34+
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
35+
36+
RUN mkdir -p /app
37+
WORKDIR /app
38+
39+
COPY package.json ./
40+
RUN npm config set registry ${NPM_REGISTRY} && npm i
41+
42+
COPY *.js ./
43+
COPY src/ ./src/
44+
45+
CMD ["npm", "run", "dev"]

0 commit comments

Comments
 (0)