【问题标题】:Basic Nginx container (static file)基本 Nginx 容器(静态文件)
【发布时间】:2021-03-02 06:40:47
【问题描述】:

我正在尝试使用 Nginx 托管一个简单的 index.html 文件来做最简单的容器。但我似乎无法让它工作。我一定在某个地方遗漏了一个概念,我希望能得到一些帮助。 这是我正在做的事情:

我有一个文件夹,里面有 2 个文件:

  • Dockerfile

    FROM nginx:1.18.0
    
    WORKDIR /usr/share/nginx/html
    COPY index.html ./
    
  • index.html

    <!DOCTYPE html>
    <html>
        <head>
            <title>Testing</title>
        </head>
        <body>
            <p>Hello Test App</p>
        </body>
    </html>
    

首先我构建容器。从包含文件的文件夹中,我运行以下命令:

docker image build --tag nginx-test:1.0.0 --file ./Dockerfile .

然后我运行容器:

docker run -d -p 3737:3737 nginx-test:1.0.0

然后我浏览到 http://localhost:3737(我也尝试过 http://localhost:3737/index.html)并且 chrome 显示 ERR_EMPTY_RESPONSE 错误:

如何让我的 index.html 文件托管在我的容器中?

【问题讨论】:

    标签: docker nginx containers


    【解决方案1】:

    问题出在这个命令上:

    docker run -d -p 3737:3737 nginx-test:1.0.0
    

    -p 选项用于选择端口。第一个端口将在主机上公开。第二个端口将用于与容器通信。默认情况下,nginx 使用 80 端口(与大多数 Web 服务器一样)。

    所以将该命令更改为:

    docker run -d -p 3737:80 nginx-test:1.0.0
    

    使我的场景中的其余步骤正常工作。

    【讨论】:

      猜你喜欢
      • 2020-05-18
      • 2019-05-22
      • 1970-01-01
      • 2020-06-17
      • 2019-11-29
      • 2011-11-08
      • 1970-01-01
      • 2011-11-06
      • 2014-06-07
      相关资源
      最近更新 更多