luoyutianyang commited on
Commit
e8e8d4b
·
verified ·
1 Parent(s): 3b36a2a

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -23
Dockerfile CHANGED
@@ -1,12 +1,12 @@
 
1
  FROM node:latest
2
 
3
- # 添加 Python3 和相关工具
4
- RUN apt-get update && apt-get install -y python3 python3-pip python3.11-venv
5
 
6
- # 安装必要的工具和依赖包
7
- RUN apt-get update && apt-get install -y \
8
  build-essential \
9
- python-is-python3 \
10
  cmake \
11
  git \
12
  ffmpeg \
@@ -23,32 +23,39 @@ RUN apt-get update && apt-get install -y \
23
  gstreamer1.0-plugins-good \
24
  gstreamer1.0-plugins-bad \
25
  gstreamer1.0-plugins-ugly \
26
- gstreamer1.0-libav
 
27
 
28
- # 添加 node-gyp 全局
29
- RUN npm install -g node-gyp
30
 
31
- # 创建工作目录并克隆 OpenCV 的源码库
32
- WORKDIR /app
33
  RUN git clone https://github.com/opencv/opencv.git ./opencv
34
 
35
- # 切换到 build 目录进行配置与编译
36
- WORKDIR /app/build
37
- RUN cmake -D WITH_FFMPEG=ON -D WITH_GSTREAMER=ON -D WITH_V4L=ON -D WITH_LIBV4L=ON -D WITH_GTK=ON -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ../opencv
38
 
39
- # 使用并行编译进程
40
- RUN make -j$(nproc)
41
- RUN make install
42
 
43
- # 全部复制到工作目录
44
- COPY . .
 
 
 
 
 
 
 
45
 
46
- # 安装依赖
47
- RUN npm install
48
- RUN npm install serve-static
 
 
49
 
50
  # 暴露端口
51
  EXPOSE 7860
52
 
53
- # 运行
54
- CMD ["node","egg-api"]
 
1
+ # 使用官方的Node.js基础镜像
2
  FROM node:latest
3
 
4
+ # 设置工作目录
5
+ WORKDIR /app
6
 
7
+ # 安装系统依赖
8
+ RUN apt-get update && apt-get install -y --no-install-recommends \
9
  build-essential \
 
10
  cmake \
11
  git \
12
  ffmpeg \
 
23
  gstreamer1.0-plugins-good \
24
  gstreamer1.0-plugins-bad \
25
  gstreamer1.0-plugins-ugly \
26
+ gstreamer1.0-libav \
27
+ && rm -rf /var/lib/apt/lists/*
28
 
29
+ # 安装Node.js和npm依赖
30
+ RUN npm install -g node-gyp && npm install --unsafe-perm
31
 
32
+ # 克隆OpenCV的源码库
 
33
  RUN git clone https://github.com/opencv/opencv.git ./opencv
34
 
35
+ # 切换到OpenCV的源码目录
36
+ WORKDIR /app/opencv
 
37
 
38
+ # 切换到OpenCV的构建目录
39
+ WORKDIR /app/opencv/build
 
40
 
41
+ # 配置OpenCV,启用所需的模块
42
+ RUN cmake -D CMAKE_BUILD_TYPE=Release \
43
+ -D WITH_FFMPEG=ON \
44
+ -D WITH_GSTREAMER=ON \
45
+ -D WITH_V4L=ON \
46
+ -D WITH_LIBV4L=ON \
47
+ -D WITH_GTK=ON \
48
+ -D CMAKE_INSTALL_PREFIX=/usr/local \
49
+ .. && make -j$(nproc) && make install
50
 
51
+ # 安装opencv4nodejs
52
+ RUN cd /app && npm install opencv4nodejs
53
+
54
+ # 将当前目录的所有内容复制到工作目录
55
+ COPY . .
56
 
57
  # 暴露端口
58
  EXPOSE 7860
59
 
60
+ # 运行命令
61
+ CMD ["node", "egg-api"]