在 Docker 中使用普通用户而非 root 用户可以提高安全性,以下是几种切换普通用户的方法:
FROM ubuntu:latest
RUN groupadd -r myuser && useradd -r -g myuser myuser
USER myuser
WORKDIR /home/myuser
# 使用 -u 参数指定用户ID
docker run -u 1000:1000 -it ubuntu bash
# 或者使用用户名(需确保用户已存在)
docker run -u myuser -it ubuntu bash
# 使用当前主机用户
docker run -u $(id -u):$(id -g) -it ubuntu bash
# 进入容器
docker exec -it container_name bash
# 然后切换用户
su - myuser
version: '3'
services:
myservice:
image: ubuntu
user: "1000:1000"
通过以上方法,您可以安全地在 Docker 中使用普通用户而非 root 用户运行容器。