Ven*_*ana 5 containers nginx docker
我有一个非常简单的 HTML 文件,它输出 ' Container with HTML file'。
我有这个 Dockerfile 复制我的welcome.html(我的简单 HTML 页面):
FROM nginx:latest
WORKDIR /usr/share/nginx/html
COPY welcome.html welcome.html
Run Code Online (Sandbox Code Playgroud)
然后我在包含此 HTML 页面的目录中创建一个图像:
docker image build -t html_nginx .
Run Code Online (Sandbox Code Playgroud)
并使用以下命令运行容器:
docker container run -p 80:80 --rm html_nginx
Run Code Online (Sandbox Code Playgroud)
但是当容器在端口 80 上运行时,我Welcome Page从 HTML 文件 (' Container with HTML file') 中获得了默认的 ' ' 而不是我想要的输出。
无论我尝试多少次,我都无法在浏览器上打印我的消息。
有人可以指出我正确的方向吗?
默认 nginx 配置将从目录加载index.html文件/usr/share/nginx/html。
/etc/nginx/conf.d/default.conf此默认设置是通过以下行设置的
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
Run Code Online (Sandbox Code Playgroud)
因此,要解决此问题,您可以将其复制welcome.html到/usr/share/nginx/html目录中index.html,或将上面的index行更改为引用welcome.html并重新加载。为了使此更改更加永久,您可能需要创建一个 dockerfile 来定义一个 docker 映像,以覆盖您已设置此值的位置中复制的配置。
或者,您应该能够/welcome.html在访问您的服务器时进行访问,例如http://localhost:80/welcome.html