我想在我的容器中安装nginx(然后是nodejs).我在nginx /文件夹中有自己的nginx配置文件:
# --- Release with Alpine ----
FROM phusion/baseimage:0.10.1
# Create app directory
WORKDIR /app
RUN apt-get update \
&& apt-get -y install nginx
RUN ls /etc/nginx
COPY nginx/nginx.conf /etc/nginx/nginx.conf
RUN ls /etc/nginx
RUN ls /etc/nginx/sites-enabled
RUN rm /etc/nginx/sites-enabled/default
COPY nginx/serverlogic /etc/nginx/sites-enabled/serverlogic
RUN ls /etc/nginx/sites-enabled
RUN nginx -s reload
RUN echo "$PWD FINALFINALFINAL" && ls
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误就是RUN nginx -s reload:"nginx:[error] open()"/ run/nginx.pid"失败(2:没有这样的文件或目录)".那是什么?
ps是否在安装了ubuntu,node.js和nginx的docker hub上有一些映像?为简单起见,我想将它们放在一个容器中.
Shr*_*ser 10
nginx -s reload只能在nginx运行时使用.它向nginx的主进程发送一个信号,该进程本身通知工作进程.
这里的问题是,在构建过程中没有运行nginx实例.所以你无法重新加载它.
但这不是一个真正的问题.由于nginx未运行,因此您无需重新加载它.在启动nginx(使用phusion基本映像时使用runit init文件)后,它将加载您提供的配置.
也就是说,我不建议在单个容器中运行多个服务.现在,使用docker-compose协调多个容器非常容易.
| 归档时间: |
|
| 查看次数: |
6739 次 |
| 最近记录: |