StarrySkyWorld commited on
Commit
3c473bd
·
verified ·
1 Parent(s): 8dd73e7

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -9
Dockerfile CHANGED
@@ -1,21 +1,29 @@
1
  # 1. 基础镜像
2
  FROM registry.fit2cloud.com/halo/halo:2.21
3
 
4
- # 2. 关键修改将工作目录指向 /data 的一个子目录
5
- # 不要直接/data,因为挂载点根目录,权限比较敏感
6
- # 改为 /data/blog,Halo 会自动创建这个文件夹,并且拥有完全权限
 
 
 
 
 
 
 
 
 
 
7
  ENV HALO_WORK_DIR=/data/blog
8
 
9
- # 3. 配合修改 HOME 目录
10
- # 这样临时文件和缓存也会去到 /data/blog 下面
11
  ENV HOME=/data/blog
12
 
13
- # 4. 内存限制
14
  ENV JVM_OPTS="-Xmx256m -Xms256m"
15
 
16
- # 5. 暴露端口
17
  EXPOSE 8090
18
 
19
- # 6. 切换用户
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