代码之家  ›  专栏  ›  技术社区  ›  smeeb

停靠的nginx不提供HTML页面

  •  5
  • smeeb  · 技术社区  · 8 年前

    Mac OS,运行Docker版本17.12.0-ce-mac49。我有以下超级简单 Dockerfile :

    FROM nginx
    COPY index.html /usr/share/nginx/html
    

    我创建Docker图像:

    docker build -t mydocbox .
    

    到目前为止还不错,没有错误。然后,我根据该图像创建一个容器:

    docker run -it -p 8080:8080 -d --name mydocbox mydocbox
    

    我看到它正在运行(我已经通过发布 docker ps 以及通过 docker exec -it <containerId> bash 并确认 /usr/share/nginx/html/index.html 存在)!

    当我打开浏览器并转到 http://localhost:8080 ,我得到一个空的/空白的/什么都看不到的屏幕,不是我预期的 index.html

    我在任何地方都没有看到任何错误,也没有任何迹象表明配置不好或防火墙导致了问题。关于问题可能是什么或如何排除故障,有什么想法吗?

    1 回复  |  直到 8 年前
        1
  •  4
  •   VonC    8 年前

    看看你能不能跟上 this example :

    FROM nginx:alpine
    COPY default.conf /etc/nginx/conf.d/default.conf
    COPY index.html /usr/share/nginx/html/index.html
    

    它使用 default.conf file 它确实指定了索引。使用的html

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    

    中的更改 default.conf 侦听端口从80到8080,并将其公开。
    或者只是 docker run 具有 -p 8080:80 (主机端口:containerPort)。