nginx docker非root进程运行
1.1 nginx非root用户
1.1.1 编辑nginx配置文件
- 修改nginx的第一行 user nginx;
- 对比下面Dockerfile,需要提前修改nginx配置文件,把nginx配置文件里面的路径,涉及到data,pid,log的路径都改成 /home/nginx/data /home/nginx/run /home/nginx/log
1.1.2 Dockerfile
cat Dockerfile
FROM nginx:1.17.0
MAINTAINER ecs@yuanian.com
LABEL description="ecs-micro"
RUN mkdir -p /home/nginx/data /home/nginx/run /home/nginx/log
ADD ecs.tar.gz /home/nginx/data #静态文件传到这里
RUN groupadd module #创建用户组
RUN usermod nginx -g module #切换nginx用户组到module
RUN chmod 777 -R /etc/ /var /home/nginx
RUN chown nginx:module -R /etc/ /var /home/nginx
USER nginx #设置以nginx用户运行
COPY nginx.conf /etc/nginx #nginx配置文件传到这
ENV TZ=Asia/Shanghai
CMD ["nginx", "-g", "daemon off;"]
docker run后这里的nginx容器进程会以非root用户运行,且进程是非root