docker / Dockerfile
jljiu's picture
Update Dockerfile
32e97f5 verified
# 使用官方的Ubuntu作为基础镜像
FROM ubuntu:latest
# 更新软件包列表并安装所需软件
RUN apt -y update && \
apt -y install curl unzip nodejs npm xubuntu-desktop
#libnss3 libnss3-dev libatk1.0-0 libatk-bridge2.0-0 libcups2 libxdamage-dev libpango1.0-0 libxkbcommon0
# 创建项目目录并进入
WORKDIR /app
# 复制本地的js文件到容器中
COPY main.js ./
# 列出/app目录内容
RUN ls -al /app
# 安装puppeteer依赖
RUN npm install puppeteer
# 列出/app/node_modules目录内容
RUN ls -al /app/node_modules
# 列出/app/node_modules/puppeteer目录内容
RUN ls -al /app/node_modules/puppeteer
# 手动安装Chromium
RUN node node_modules/puppeteer/install.mjs
# 创建用于存放Chrome相关文件的目录
RUN mkdir -p /app/chrome
RUN ls -al /root/.cache/puppeteer/chrome
RUN ls -al /root/.cache/puppeteer/chrome-headless-shell
RUN ls -al /root/.cache/puppeteer/chrome/linux-131.0.6778.85
RUN ls -al /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85
RUN ls -al /root/.cache/puppeteer/chrome/linux-131.0.6778.85/chrome-linux64
RUN ls -al /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85/chrome-headless-shell-linux64
RUN ls -al /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85/chrome-headless-shell-linux64
RUN ls -al /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85/chrome-headless-shell-linux64
# 移动chrome可执行文件及相关到 /app/chrome 目录(假设之前下载好的文件在对应缓存目录下可获取到)
# RUN mv /root/.cache/puppeteer/chrome/linux-131.0.6778.85 /app/chrome
# RUN mv /root/.cache/puppeteer/chrome-headless-shell/linux-131.0.6778.85 /app/chrome-headless-shell
# 复制chrome - headless - shell目录及其内容
RUN mv /root/.cache/puppeteer/chrome/linux-131.0.6778.85/* /app/chrome/
# 列出/app目录内容
RUN ls -al /app/chrome
# 暴露7860端口
EXPOSE 7860
# 运行Node.js应用
CMD ["node", "main.js"]