luoyutianyang commited on
Commit
742ea92
·
verified ·
1 Parent(s): b46a364

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +21 -21
Dockerfile CHANGED
@@ -1,8 +1,11 @@
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 \
@@ -26,25 +29,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
26
  gstreamer1.0-libav \
27
  && rm -rf /var/lib/apt/lists/*
28
 
29
- # 安装npm
30
- RUN npm install -g npm@latest
31
-
32
  # 安装node-gyp
33
- RUN npm install -g node-gyp@latest
34
 
35
- # 安装opencv4nodejs
36
- RUN npm install opencv4nodejs
37
-
38
- # 克隆OpenCV的源码库
39
  RUN git clone https://github.com/opencv/opencv.git ./opencv
40
 
41
- # 切换到OpenCV的源码目录
42
- WORKDIR /app/opencv
43
-
44
- # 切换到OpenCV的构建目录
45
  WORKDIR /app/opencv/build
46
-
47
- # 配置OpenCV,启用所需的模块
48
  RUN cmake -D CMAKE_BUILD_TYPE=Release \
49
  -D WITH_FFMPEG=ON \
50
  -D WITH_GSTREAMER=ON \
@@ -52,13 +46,19 @@ RUN cmake -D CMAKE_BUILD_TYPE=Release \
52
  -D WITH_LIBV4L=ON \
53
  -D WITH_GTK=ON \
54
  -D CMAKE_INSTALL_PREFIX=/usr/local \
55
- .. && make -j$(nproc) && make install
 
 
 
 
 
56
 
57
- # 将当前目录的所有内容复制到工作目录
58
- COPY . .
 
59
 
60
  # 暴露端口
61
  EXPOSE 7860
62
 
63
- # 运行egg-api.js
64
- CMD ["node", "egg-api.js"]
 
1
  # 使用官方的Node.js基础镜像
2
  FROM node:latest
3
 
4
+ # 安装Python 3和pip(默认情况下pip是与Python 3捆绑在一起的)
5
+ RUN apt-get update && apt-get install -y \
6
+ python3 \
7
+ python3-pip \
8
+ python3.11-venv
9
 
10
  # 安装系统依赖
11
  RUN apt-get update && apt-get install -y --no-install-recommends \
 
29
  gstreamer1.0-libav \
30
  && rm -rf /var/lib/apt/lists/*
31
 
 
 
 
32
  # 安装node-gyp
33
+ RUN npm install -g node-gyp
34
 
35
+ # 创建工作目录并克隆 OpenCV 的源码库
36
+ WORKDIR /app
 
 
37
  RUN git clone https://github.com/opencv/opencv.git ./opencv
38
 
39
+ # 切换到 build 目录进行配置与编译
 
 
 
40
  WORKDIR /app/opencv/build
41
+ # 使用make的-j选项和nproc来自动检测CPU核心数以启用并行编译
 
42
  RUN cmake -D CMAKE_BUILD_TYPE=Release \
43
  -D WITH_FFMPEG=ON \
44
  -D WITH_GSTREAMER=ON \
 
46
  -D WITH_LIBV4L=ON \
47
  -D WITH_GTK=ON \
48
  -D CMAKE_INSTALL_PREFIX=/usr/local \
49
+ ..
50
+ RUN make -j$(nproc)
51
+ RUN make install
52
+
53
+ # 切换回应用目录
54
+ WORKDIR /app
55
 
56
+ # 安装npm依赖
57
+ COPY package*.json ./
58
+ RUN npm install
59
 
60
  # 暴露端口
61
  EXPOSE 7860
62
 
63
+ # 运行命令
64
+ CMD ["node", "egg-api"]