isididiidid commited on
Commit
ffb40ca
·
verified ·
1 Parent(s): acd2163

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +8 -17
Dockerfile CHANGED
@@ -4,10 +4,9 @@ FROM node:20-slim
4
  # Step 2: Set Working Directory
5
  WORKDIR /app
6
 
7
- # --- 创建一个专门用于运行的用户,提高安全性 ---
8
  RUN useradd --create-home --shell /bin/bash appuser
9
  USER appuser
10
- # 重新设置工作目录
11
  WORKDIR /home/appuser/app
12
 
13
  # Step 3: Copy package files and install dependencies
@@ -15,10 +14,8 @@ COPY --chown=appuser:appuser package*.json ./
15
  RUN npm ci
16
 
17
  # Step 4: Install Playwright's system dependencies
18
- # 切换回 root 用户来安装系统级依赖
19
  USER root
20
  RUN npx playwright install-deps
21
- # 切换回 appuser
22
  USER appuser
23
 
24
  # Step 5: Install Playwright browsers
@@ -27,26 +24,20 @@ RUN npx playwright install
27
  # Step 6: Copy the rest of the application code
28
  COPY --chown=appuser:appuser . .
29
 
30
- # Step 7: ***【最终权限修改】***
31
- # 准备可写的代理和日志目录
32
- # 必须以 root 身份执行这些操作
33
  USER root
34
 
35
  # (1) 处理代理二进制文件
36
- # 创建代理目录并复制文件
37
  RUN mkdir -p /tmp/proxy && cp src/proxy/chrome_proxy_server_linux_amd64 /tmp/proxy/
38
- # 在新位置设置执行权限
39
  RUN chmod +x /tmp/proxy/chrome_proxy_server_linux_amd64
40
 
41
- # (2) 处理日志文件
42
- # 创建日志目录
43
- RUN mkdir -p /tmp/logs
44
- # ***【新添加】*** 使用 touch 预先创建日志文件
45
- RUN touch /tmp/logs/proxy_server.log
46
- # ***【关键】*** 将日志目录和日志文件的所有权都赋予 appuser
47
- RUN chown -R appuser:appuser /tmp/logs
48
 
49
- # 切换回 appuser,之后的所有操作都将以此用户身份运行
50
  USER appuser
51
 
52
  # Step 8: Expose the application port
 
4
  # Step 2: Set Working Directory
5
  WORKDIR /app
6
 
7
+ # --- 创建一个专门用于运行的用户 ---
8
  RUN useradd --create-home --shell /bin/bash appuser
9
  USER appuser
 
10
  WORKDIR /home/appuser/app
11
 
12
  # Step 3: Copy package files and install dependencies
 
14
  RUN npm ci
15
 
16
  # Step 4: Install Playwright's system dependencies
 
17
  USER root
18
  RUN npx playwright install-deps
 
19
  USER appuser
20
 
21
  # Step 5: Install Playwright browsers
 
24
  # Step 6: Copy the rest of the application code
25
  COPY --chown=appuser:appuser . .
26
 
27
+ # Step 7: ***【简化权限设置】***
28
+ # 准备可写的代理目录
 
29
  USER root
30
 
31
  # (1) 处理代理二进制文件
 
32
  RUN mkdir -p /tmp/proxy && cp src/proxy/chrome_proxy_server_linux_amd64 /tmp/proxy/
 
33
  RUN chmod +x /tmp/proxy/chrome_proxy_server_linux_amd64
34
 
35
+ # (2) ***【移除】*** 不再需要处理日志文件权限
36
+ # RUN mkdir -p /tmp/logs
37
+ # RUN touch /tmp/logs/proxy_server.log
38
+ # RUN chown -R appuser:appuser /tmp/logs
 
 
 
39
 
40
+ # 切换回 appuser
41
  USER appuser
42
 
43
  # Step 8: Expose the application port