Docker部署Django报错:无法找到django-user用户求助
问题解决:Docker无法找到django-user用户
问题原因
Alpine Linux使用BusyBox提供的简化版adduser命令,不支持你所用的GNU风格长参数(--disabled-password、--no-create-home),导致用户django-user没有被正确创建,因此Docker运行时找不到该用户的passwd条目。
修复后的Dockerfile
修改RUN指令中的adduser命令,改用Alpine支持的短参数:
FROM python:3.9-alpine COPY ./requirements.txt /requirements.txt COPY ./app /app WORKDIR /app RUN python -m venv /py && \ /py/bin/pip install --upgrade pip && \ /py/bin/pip install -r /requirements.txt && \ adduser -D -H django-user ENV PATH="/py/bin:$PATH" USER django-user
参数说明
-D:等价于--disabled-password,创建无密码用户-H:等价于--no-create-home,不为用户创建家目录
修改后用户会被正确添加到系统passwd文件中,Docker即可正常切换到该用户上下文执行。
内容的提问来源于stack exchange,提问作者L.S
相关产品推荐
相关产品推荐

