chore(docker): 更新 Dockerfile 和部署脚本以优化权限管理和目录结构
- 在 Dockerfile 中设置文件所有者和执行权限,确保二进制文件的安全性。 - 创建必要的目录并设置相应的权限,提升容器的可用性。 - 更新部署脚本,调整挂载路径以分离存储和日志目录,增强容器的管理性。
This commit is contained in:
parent
164927ac4f
commit
9e0c7e45b3
10
Dockerfile
10
Dockerfile
|
|
@ -69,9 +69,11 @@ RUN apk add --no-cache ca-certificates tzdata && \
|
||||||
rm -rf /var/cache/apk/*
|
rm -rf /var/cache/apk/*
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=builder /out/server /app/server
|
COPY --from=builder /out/server /app/server
|
||||||
# 确保二进制文件有执行权限
|
# 设置文件所有者和执行权限(在切换用户之前)
|
||||||
RUN chmod +x /app/server && ls -la /app/server
|
RUN chown appuser:appuser /app/server && chmod +x /app/server
|
||||||
|
# 创建必要的目录
|
||||||
|
RUN mkdir -p /app/storage/export /app/log && \
|
||||||
|
chown -R appuser:appuser /app/storage /app/log
|
||||||
EXPOSE 8077
|
EXPOSE 8077
|
||||||
# 暂时使用 root 用户运行,排查权限问题
|
USER appuser:appuser
|
||||||
# USER appuser:appuser
|
|
||||||
ENTRYPOINT ["/app/server"]
|
ENTRYPOINT ["/app/server"]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
connecting YMT MySQL: lsxd-read.rwlb.rds.aliyuncs.com:3306 db merketing user merketing
|
||||||
|
connecting Marketing MySQL: market-read-only.rwlb.cn-chengdu.rds.aliyuncs.com:3306 db market user market_root
|
||||||
|
connecting Meta MySQL (templates/jobs): 47.97.27.195:3306 db merketing user root
|
||||||
|
connecting Marketing Authorization MySQL: market-read-only.rwlb.cn-chengdu.rds.aliyuncs.com:3306 db authorization
|
||||||
|
connecting Marketing Reseller MySQL: market-read-only.rwlb.cn-chengdu.rds.aliyuncs.com:3306 db reseller
|
||||||
|
gRPC server address: 121.41.108.37:30900
|
||||||
|
gRPC user client connected to 121.41.108.37:30900
|
||||||
|
[服务启动] 开始恢复未完成的导出任务...
|
||||||
|
server listening on :8077
|
||||||
|
[任务恢复] 没有需要恢复的任务
|
||||||
|
|
@ -57,7 +57,10 @@ docker run -d \
|
||||||
--name "$CID_NAME" \
|
--name "$CID_NAME" \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
-p "$PORT:8077" \
|
-p "$PORT:8077" \
|
||||||
-v "$ROOT_DIR:/app" \
|
-v "$ROOT_DIR/storage:/app/storage" \
|
||||||
|
-v "$ROOT_DIR/log:/app/log" \
|
||||||
|
-v "$ROOT_DIR/server/config.yaml:/app/config.yaml:ro" \
|
||||||
|
-e CONFIG_PATH=/app/config.yaml \
|
||||||
"$USE_IMAGE"
|
"$USE_IMAGE"
|
||||||
echo "container: $CID_NAME image: $USE_IMAGE port: $PORT"
|
echo "container: $CID_NAME image: $USE_IMAGE port: $PORT"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue