wkplhc commited on
Commit
8912909
1 Parent(s): 5f2bf75

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -5
Dockerfile CHANGED
@@ -6,6 +6,10 @@ ARG DEBCONF_NOWARNINGS="yes"
6
  ARG DEBIAN_FRONTEND="noninteractive"
7
  ARG DEBCONF_NONINTERACTIVE_SEEN="true"
8
 
 
 
 
 
9
  USER root
10
 
11
  RUN set -eu && \
@@ -26,19 +30,33 @@ RUN set -eu && \
26
  echo "$VERSION_ARG" > /run/version && \
27
  rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
28
 
29
- COPY --chmod=755 ./src /run/
30
- COPY --chmod=755 ./assets /run/assets
31
- COPY --chmod=755 ./src/entry.sh /run/entry.sh
 
 
 
 
32
 
33
- ADD --chmod=755 https://raw.githubusercontent.com/christgau/wsdd/v0.8/src/wsdd.py /usr/sbin/wsdd
34
- ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.43-0/virtio-win-1.9.43.tar.xz /drivers.txz
 
 
35
 
 
 
 
 
 
36
  EXPOSE 8006 3389
37
  VOLUME /storage
38
 
 
39
  ENV RAM_SIZE="4G"
40
  ENV CPU_CORES="2"
41
  ENV DISK_SIZE="64G"
42
  ENV VERSION="win11"
43
 
 
 
44
  ENTRYPOINT ["/usr/bin/tini", "-s", "/run/entry.sh"]
 
6
  ARG DEBIAN_FRONTEND="noninteractive"
7
  ARG DEBCONF_NONINTERACTIVE_SEEN="true"
8
 
9
+ # 创建一个新用户并设置用户ID
10
+ RUN useradd -m -u 1000 user
11
+
12
+ # 切换到root用户执行需要root权限的命令
13
  USER root
14
 
15
  RUN set -eu && \
 
30
  echo "$VERSION_ARG" > /run/version && \
31
  rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
32
 
33
+ # 切换到非root用户
34
+ USER user
35
+
36
+ # 设置环境变量和工作目录
37
+ ENV HOME=/home/user \
38
+ PATH=/home/user/.local/bin:$PATH
39
+ WORKDIR $HOME/app
40
 
41
+ # 复制文件并设置所有者
42
+ COPY --chown=user ./src /run/
43
+ COPY --chown=user ./assets /run/assets
44
+ COPY --chown=user ./src/entry.sh /run/entry.sh
45
 
46
+ # 下载并设置文件权限
47
+ ADD --chown=user https://raw.githubusercontent.com/christgau/wsdd/v0.8/src/wsdd.py /usr/sbin/wsdd
48
+ ADD --chown=user https://github.com/qemus/virtiso-whql/releases/download/v1.9.43-0/virtio-win-1.9.43.tar.xz /drivers.txz
49
+
50
+ # 暴露端口和设置卷
51
  EXPOSE 8006 3389
52
  VOLUME /storage
53
 
54
+ # 设置环境变量
55
  ENV RAM_SIZE="4G"
56
  ENV CPU_CORES="2"
57
  ENV DISK_SIZE="64G"
58
  ENV VERSION="win11"
59
 
60
+ # 切换回root用户以执行ENTRYPOINT
61
+ USER root
62
  ENTRYPOINT ["/usr/bin/tini", "-s", "/run/entry.sh"]