剛好自己因爲工作環境需要自己定製一個nginx鏡像,生成之後,發現容器沒有相關nginx日誌輸出
FROM env_centos:latest
COPY nginx.repo /etc/yum.repos.d/
# 注意,日誌要重定向輸出到stdout,否則無法看到容器日誌輸出
RUN \
yum -y install nginx httpd-tools && \
mkdir -p /data/nginx_conf/upstream && \
mkdir -p /data/nginx_conf/vhosts && \
rm -f /etc/nginx/conf.d/default.conf && \
ln -sf /dev/stdout /var/log/nginx/access.log && \ > 這2行是關鍵,當然,這個要跟你的nginx配置文件匹配,不要照搬
ln -sf /dev/stderr /var/log/nginx/error.log > 這2行是關鍵
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
#EXPOSE 443
CMD ["nginx", "-g", "daemon off;"]
最終的效果如下
#docker exec test123 ls -l /var/log/nginx/
lrwxrwxrwx 1 root root 11 Dec 29 10:51 access.log -> /dev/stdout
lrwxrwxrwx 1 root root 11 Dec 29 10:51 error.log -> /dev/stderr