25 lines
542 B
Docker
25 lines
542 B
Docker
FROM node:18-bullseye-slim
|
||
|
||
# 安装iproute2
|
||
RUN apt-get update && \
|
||
apt-get install -y --no-install-recommends iproute2 && \
|
||
apt-get clean && \
|
||
rm -rf /var/lib/apt/lists/*
|
||
|
||
# 创建非root用户
|
||
RUN useradd -m appuser
|
||
USER appuser
|
||
|
||
WORKDIR /app
|
||
|
||
# 复制项目文件和依赖
|
||
COPY --chown=appuser:appuser package*.json ./
|
||
COPY --chown=appuser:appuser node_modules ./node_modules
|
||
COPY --chown=appuser:appuser . .
|
||
|
||
# 暴露应用端口(host模式下实际使用宿主机端口)
|
||
EXPOSE 9900
|
||
|
||
# 启动命令
|
||
CMD ["npm", "start"]
|