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

