19 lines
786 B
Docker
19 lines
786 B
Docker
# 以普通用户运行,未测试
|
||
# 基础镜像(以ubuntu为例,其他镜像如alpine、centos逻辑一致)
|
||
FROM ubuntu:22.04
|
||
|
||
# 1. 创建普通用户(指定UID/GID避免权限冲突,可选但推荐)
|
||
# -m:创建家目录;-s:指定shell;--uid/--gid:指定固定ID
|
||
RUN groupadd --gid 1001 appgroup && \
|
||
useradd --uid 1001 --gid appgroup --create-home --shell /bin/bash appuser
|
||
|
||
# 2. (可选)设置工作目录并修改权限(确保普通用户可读写)
|
||
WORKDIR /app
|
||
RUN chown -R appuser:appgroup /app
|
||
|
||
# 3. 切换到普通用户(关键:后续所有命令都以该用户执行)
|
||
USER appuser
|
||
|
||
# 4. 以普通用户运行CMD/ENTRYPOINT
|
||
# 示例:执行一个简单的脚本或应用
|
||
CMD ["echo", "当前用户:$(whoami),工作目录:$(pwd)"] |