【发布时间】:2017-09-23 12:40:11
【问题描述】:
我正在写一个创建 docker 文件以在容器中运行 openresty nginx。
我的 docker 文件在下面。
FROM ubuntu:latest
ENV PATH="/usr/local/openresty/nginx/sbin:${PATH}"
LABEL info="running open resty on docker container"
RUN apt-get update -y \
&& apt-get install -y wget \
&& wget -qO - https://openresty.org/package/pubkey.gpg | apt-key add - \
&& apt-get -y install software-properties-common \
&& add-apt-repository -y "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" \
&& apt-get update -y \
&& apt-get install -y openresty
RUN mkdir -p /opt/poc
RUN cd /opt/poc \
&& mkdir logs \
&& touch logs/error.log \
&& mkdir conf \
&& cd ../
RUN chmod -R 755 /opt/poc
WORKDIR /opt/poc
ADD ./conf/nginx.conf conf/
EXPOSE 8383
CMD ["nginx", "-p /opt/poc","-c conf/nginx.conf"]
图像构建没有问题。但是当我运行 docker 时,我收到以下错误消息。
nginx:[alert] 无法打开错误日志文件:open()" /opt/poc/logs/error.log”失败(2:没有这样的文件或目录) 2017/09/23 03:35:44 [emerg] 1#1: open() "/opt/poc/conf/nginx.conf" 失败(2:没有这样的文件或目录)
如果我更改为CMD $ls,docker 将列出 conf 和 logs 目录,而不是运行 CMD ["nginx", "-p /opt/poc","-c conf/nginx.conf"]。所以我不确定我在这里缺少什么。
【问题讨论】:
-
不要发明轮子 - 使用官方 docker 镜像 - hub.docker.com/r/openresty/openresty
标签: docker dockerfile openresty