luoyutianyang commited on
Commit
7230a96
·
verified ·
1 Parent(s): e1c9eb6

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -21
Dockerfile CHANGED
@@ -1,29 +1,38 @@
1
- # 使用适合你操作系统架构的archlinux镜像作为基础镜像
2
- FROM archlinux:latest
3
 
4
- # 设置工作目录
5
- WORKDIR /app
6
-
7
- # 复制应用程序代码到工作目录
8
- COPY . .
9
-
10
- # 更新软件包数据库并安装需要的软件包
11
  RUN pacman -Syu --noconfirm && \
12
  pacman -S --noconfirm \
13
- nodejs npm cmake opencv icu gcc git base-devel pkg-config && \
14
- npm install -g npm
 
 
 
 
 
15
 
16
- # 安装Node.js依赖
17
- RUN npm install express phin npmlog jimp axios sharp
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
- # 安装 opencv4nodejs,并禁用自动构建
20
- RUN npm install opencv-build && \
21
- npm install opencv4nodejs && \
22
- npm config set opencv4nodejs:customBuildFlags "" && \
23
- npm rebuild opencv4nodejs
24
 
25
- # 暴露端口
26
- EXPOSE 7860
27
 
28
- # 启动应用
29
  CMD [ "node", "egg-api.js" ]
 
1
+ FROM archlinux/base
 
2
 
3
+ # 更新系统并安装基本依赖项
 
 
 
 
 
 
4
  RUN pacman -Syu --noconfirm && \
5
  pacman -S --noconfirm \
6
+ cmake \
7
+ nodejs \
8
+ npm \
9
+ pkg-config \
10
+ gcc \
11
+ make \
12
+ git
13
 
14
+ # 下载并编译安装 OpenCV
15
+ RUN git clone https://github.com/opencv/opencv.git && \
16
+ cd opencv && \
17
+ mkdir build && \
18
+ cd build && \
19
+ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. && \
20
+ make -j$(nproc) && \
21
+ make install && \
22
+ cd ../.. && \
23
+ rm -rf opencv
24
+
25
+ # 安装 opencv4nodejs
26
+ RUN npm install opencv4nodejs
27
+
28
+ # 设置工作目录
29
+ WORKDIR /app
30
 
31
+ # 拷贝应用程序代码到容器中
32
+ COPY . .
 
 
 
33
 
34
+ # 暴露端口(如果需要)
35
+ EXPOSE 3000
36
 
37
+ # 启动应用程序
38
  CMD [ "node", "egg-api.js" ]