Spaces:
Starting
Starting
Update Dockerfile
Browse files- 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 |
-
|
30 |
-
|
31 |
-
|
|
|
|
|
|
|
|
|
32 |
|
33 |
-
|
34 |
-
|
|
|
|
|
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"]
|