我不确定我从哪里走出铁轨,但我正在尝试为我的网站创建一个容器。首先,我从名为'默认':
的文件开始server {
root /var/www;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
var/www/
指向我的网络内容,其中index.html
是内容的默认文件。
然后我创建了一个非常简单的Dockerfile:
FROM httpd
MAINTAINER Jay Blanchard
RUN httpd
ADD default /home/OARS/
在我的Dockerfile中,我引用了上面的默认文件,认为这是指向我的Web内容所需要的。默认文件恰好与Docker文件位于同一目录中,但正如我在一些示例中看到的那样,我给出了路径/home/OARS/
。
构建成功:
foo@bar:/home/OARS$ sudo docker build -t oars-example .
Sending build context to Docker daemon 3.072 kB
Sending build context to Docker daemon
Step 0 : FROM httpd
---> cba1e4bb4caa
Step 1 : MAINTAINER Jay Blanchard
---> Using cache
---> e77807e98c6b
Step 2 : RUN httpd
---> Using cache
---> c0bff2fb1f9b
Step 3 : ADD default /home/OARS/
---> 3b4053fbc8d4
Removing intermediate container e02d27c4309d
Successfully built 3b4053fbc8d4
运行似乎是成功的:
foo@bar:/home/OARS$ sudo docker run -d -P oars-example
9598c176a706b19dd28dfab8de94e9c630e5781aca6930564d15182d21b0f6a5
9598c176a706 oars-example:latest" httpd-foreground" 6秒前Up 5秒0.0.0.0:32776->80/tcp jovial_fermat
然而,当我转到IP(端口32776,端口80上已经存在某些东西)时,我没有得到/var/www
中指定的索引页面,但我确实得到了默认值来自Apache服务器的索引页。
以下是来自服务器的日志:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 000.000.000.000. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 000.000.000.000. Set the 'ServerName' directive globally to suppress this message
[Tue May 19 16:59:17.457525 2015] [mpm_event:notice] [pid 1:tid 140053777708928] AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
[Tue May 19 16:59:17.457649 2015] [core:notice] [pid 1:tid 140053777708928] AH00094: Command line: 'httpd -D FOREGROUND'
000.000.000.000 - - [19/May/2015:17:00:08 +0000] "GET / HTTP/1.1" 200 45
000.000.000.000 - - [19/May/2015:17:00:08 +0000] "GET /favicon.ico HTTP/1.1" 404 209
我已经更改了日志中的IP地址,只是为了让事情变得犹豫不决。
我是否遗漏了一些明显的东西,以确保我的网站文件在容器中运行?
答案 0 :(得分:0)
首先,您尝试在Apache容器中使用nginx配置文件。
然后,根据the base container documentation,指定配置文件的正确方法是:
# Dockerfile
FROM httpd
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf