luoyutianyang commited on
Commit
9da360f
·
verified ·
1 Parent(s): 7ed7f18

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +19 -31
Dockerfile CHANGED
@@ -1,16 +1,12 @@
1
- # 使用官方的Node.js基础镜像
2
  FROM node:latest
3
 
4
- # 安装Python 3和pip(默认情况下pip是与Python 4捆绑在一起的)
5
- # 注意:这里假设您使用的是Python 4,如果是Python 3,则不需要安装python3.11-venv
6
- RUN apt-get update && apt-get install -y \
7
- python3 \
8
- python3-pip \
9
- && rm -rf /var/lib/apt/lists/*
10
 
11
- # 安装系统依赖
12
- RUN apt-get update && apt-get install -y --no-install-recommends \
13
  build-essential \
 
14
  cmake \
15
  git \
16
  ffmpeg \
@@ -27,40 +23,32 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
27
  gstreamer1.0-plugins-good \
28
  gstreamer1.0-plugins-bad \
29
  gstreamer1.0-plugins-ugly \
30
- gstreamer1.0-libav \
31
- && rm -rf /var/lib/apt/lists/*
32
 
33
- # 安装node-gyp
34
  RUN npm install -g node-gyp
35
 
36
  # 创建工作目录并克隆 OpenCV 的源码库
37
  WORKDIR /app
38
- RUN git clone https://github.com/opencv/opencv.git ./opencv
39
 
40
  # 切换到 build 目录进行配置与编译
41
- WORKDIR /app/opencv/build
42
- # 使用make的-j选项来限制使用的核心数,例如,使用2个核心
43
- RUN cmake -D CMAKE_BUILD_TYPE=Release \
44
- -D WITH_FFMPEG=ON \
45
- -D WITH_GSTREAMER=ON \
46
- -D WITH_V4L=ON \
47
- -D WITH_LIBV4L=ON \
48
- -D WITH_GTK=ON \
49
- -D CMAKE_INSTALL_PREFIX=/usr/local \
50
- ..
51
- # 使用-j2来限制并行编译的进程数,这里以使用两个进程为例
52
- RUN make -j2
53
  RUN make install
54
 
55
- # 切换回应用目录
56
- WORKDIR /app
57
 
58
- # 安装npm依赖
59
- COPY package*.json ./
60
  RUN npm install
 
61
 
62
  # 暴露端口
63
  EXPOSE 7860
64
 
65
- # 运行命令
66
- CMD ["node", "egg-api"]
 
 
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
  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 --depth 1 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"]