yangtb24 commited on
Commit
a7cdd8b
·
verified ·
1 Parent(s): 80fb89a

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +7 -11
Dockerfile CHANGED
@@ -1,21 +1,17 @@
1
- # 使用官方镜像,但我们强制它以 root 身份运行
2
  FROM adguard/adguardhome:latest
3
 
4
- # --- 关键修改 ---
5
- # 切换回 root 用户,这将覆盖掉官方镜像中可能存在的 USER 指令
6
- # 这给了我们在这个容器中的最高权限
7
  USER root
8
 
9
- # 声明持久化卷
10
  VOLUME ["/opt/adguardhome/work", "/opt/adguardhome/conf"]
11
-
12
- # 声明端口
13
  EXPOSE 53/udp 3000/tcp 80/tcp 443/tcp 853/tcp
14
 
15
- # 使用 root 身份执行启动命令
16
- # 现在它拥有在任何地方创建/写入文件的权限,不会再有 permission denied
17
- CMD ["/opt/adguardhome/AdGuardHome", \
18
- "--no-check-update", \
19
  "--web-addr", "0.0.0.0:3000", \
20
  "-c", "/opt/adguardhome/conf/AdGuardHome.yaml", \
21
  "-w", "/opt/adguardhome/work"]
 
1
+ # 使用 AdGuard Home 官方的最新镜像
2
  FROM adguard/adguardhome:latest
3
 
4
+ # 关键修正 1: 强制切换到 root 用户。
5
+ # 这将覆盖官方镜像默认的低权限用户,解决所有 "permission denied" 问题。
 
6
  USER root
7
 
8
+ # 标准的持久化卷和端口声明
9
  VOLUME ["/opt/adguardhome/work", "/opt/adguardhome/conf"]
 
 
10
  EXPOSE 53/udp 3000/tcp 80/tcp 443/tcp 853/tcp
11
 
12
+ # 关键修正 2: CMD 只提供参数,绝不包含可执行文件名。
13
+ # 这些参数会被追加到官方镜像的 ENTRYPOINT 后面,形成一个完整、正确的命令。
14
+ CMD ["--no-check-update", \
 
15
  "--web-addr", "0.0.0.0:3000", \
16
  "-c", "/opt/adguardhome/conf/AdGuardHome.yaml", \
17
  "-w", "/opt/adguardhome/work"]