在 Debian 的 Docker 环境里,“设权限”通常分几种场景,下面按最常见情况给你说明,基本都能覆盖 90% 的需求。
docker run -v /data:/app/data debian
问题:容器里用户可能是 root 或 uid 1000,宿主机文件权限不匹配。
chown -R 1000:1000 /data
chmod -R 755 /data
docker run -u 1000:1000 -v /data:/app/data debian
RUN useradd -m appuser
USER appuser
docker run --privileged debian
docker run \
--cap-add NET_ADMIN \
--cap-add SYS_TIME \
debian
查看支持的能力:
docker run --help | grep cap-add
docker run -it debian bash
RUN apt update && apt install -y sudo
RUN useradd -m user && echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
USER user
dockersudo usermod -aG docker $USER
newgrp docker
验证:
docker ps
docker run --read-only debian
需要写临时目录:
docker run --read-only -v /tmp:/tmp debian
✅ 不用 --privileged
✅ 不用 root 跑应用
✅ 挂载目录提前 chown
✅ 最小权限原则(--cap-add)
如果你说的“设权限”是某一种具体场景(比如:
可以直接告诉我,我给你针对性命令。