Spaces:
Sleeping
Sleeping
Update Dockerfile
Browse files- Dockerfile +17 -9
Dockerfile
CHANGED
|
@@ -1,21 +1,29 @@
|
|
| 1 |
# 1. 基础镜像
|
| 2 |
FROM registry.fit2cloud.com/halo/halo:2.21
|
| 3 |
|
| 4 |
-
# 2. 关键
|
| 5 |
-
#
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
ENV HALO_WORK_DIR=/data/blog
|
| 8 |
|
| 9 |
-
#
|
| 10 |
-
# 这样临时文件和缓存也会去到 /data/blog 下面
|
| 11 |
ENV HOME=/data/blog
|
| 12 |
|
| 13 |
-
#
|
| 14 |
ENV JVM_OPTS="-Xmx256m -Xms256m"
|
| 15 |
|
| 16 |
-
#
|
| 17 |
EXPOSE 8090
|
| 18 |
|
| 19 |
-
#
|
| 20 |
-
# 使用 ID 1000 运行
|
| 21 |
USER 1000
|
|
|
|
| 1 |
# 1. 基础镜像
|
| 2 |
FROM registry.fit2cloud.com/halo/halo:2.21
|
| 3 |
|
| 4 |
+
# 2. 关键步骤:以 ROOT 身份预先创建目录并授权
|
| 5 |
+
# 必须先用 root 做这件事,因为 /data (在构建时) 对普通用户是只读的
|
| 6 |
+
USER root
|
| 7 |
+
|
| 8 |
+
# 创建我们将要使用的工作目录
|
| 9 |
+
RUN mkdir -p /data/blog
|
| 10 |
+
|
| 11 |
+
# 将该目录的所有权移交给用户 1000 (halo)
|
| 12 |
+
# 这一步至关重要,否则切换用户后还是写不进去
|
| 13 |
+
RUN chown -R 1000:1000 /data/blog
|
| 14 |
+
|
| 15 |
+
# 3. 设置环境变量
|
| 16 |
+
# 告诉 Halo 你的工作目录是刚才创建的那个
|
| 17 |
ENV HALO_WORK_DIR=/data/blog
|
| 18 |
|
| 19 |
+
# 设置 HOME 目录,防止部分缓存文件写错地方
|
|
|
|
| 20 |
ENV HOME=/data/blog
|
| 21 |
|
| 22 |
+
# 内存限制
|
| 23 |
ENV JVM_OPTS="-Xmx256m -Xms256m"
|
| 24 |
|
| 25 |
+
# 4. 暴露端口
|
| 26 |
EXPOSE 8090
|
| 27 |
|
| 28 |
+
# 5. 最后切换到普通用户运行
|
|
|
|
| 29 |
USER 1000
|