如何在 Docker 中正确启动 nginx



我希望 Docker 容器中的 nginx 托管一个简单的静态 hello world html 网站。我想简单地以"docker run imagename"开始它。为此,我将运行参数添加到 Dockerfile 中。我想这样做的原因是我想在下一步中在Cloud Foundry上托管应用程序。不幸的是,这样做时我收到以下错误。

Dockerfile

FROM nginx:alpine
COPY . /usr/share/nginx/html
EXPOSE 5000
CMD ["nginx -d -p 5000:5000"]

错误

Error starting userland proxy: Bind for 0.0.0.0:5000: unexpected error Permission denied.

来自 :: https://docs.docker.com/engine/reference/builder/#expose

EXPOSE 不会使主机可以访问容器的端口。为此,必须使用 -p 标志发布一系列端口,或使用 -P 标志发布所有公开的端口。您可以公开一个端口号,并将其发布到另一个端口号的外部

CMD ["nginx -d -p 5000:5000"] 您添加您的码头工人文件从nginx:alpine它已经开始nginx。 从 dockerfile 构建之后

你应该在

docker run -d -p 5000:5000 <your_image> 

编辑: 如果要使用 docker 端口 80 -> 机器端口 5000

docker run -d -p 5000:80 <your_image>

相关内容

  • 没有找到相关文章

最新更新