docker file中创建应用的用户

docker 应用里面,我们如何分配一个新用户呢。我们不能总是每次拿root用户跑应用。我们是不是可以用普通用户的权限跑应用呢?

答案是可以的,以python 3.11为例,我们可以编写如下代码

 

FROM python:3.11-slim

# Run as a non-privileged user
RUN adduser --home /app --shell /bin/bash --uid 1001 --disabled-password --comment  "" app
USER app

# Copy source files into application directory
COPY --chown=app:app . /app

WORKDIR /app 
 

ENV PATH="/app/.local/bin:${PATH}"


RUN pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip3 install your package

EXPOSE 8001

HEALTHCHECK CMD curl --fail http://localhost:8001/health



ENTRYPOINT ["python",  "main.py"]

然后我们解释一下

添加用户是 adduser命令,他们有对应的参数,可以用这样的方式,让我们不必交互式创建ssh账号

然后拷贝文件的时候,加上--chown能把文件权限搞对

 

然后设置 python的代理,安装软件包

最后的就是后台的流程

 

分类: 默认 标签: 发布于: 2024-02-04 14:14:36, 点击数: