如何在Docker中正确启动nginx

如何在Docker中正确启动nginx,nginx,docker,port,cloud-foundry,Nginx,Docker,Port,Cloud Foundry,我希望nginx在Docker容器中承载一个简单的静态hello world html网站。我只想以“docker run imagename”开始。为此,我将运行参数添加到Dockerfile中。我想这样做的原因是我想在下一步在CloudFoundry上托管应用程序。不幸的是,当我这样做时,会出现以下错误 Dockerfile FROM nginx:alpine COPY . /usr/share/nginx/html EXPOSE 5000 CMD ["nginx -d -p 5000:50

我希望nginx在Docker容器中承载一个简单的静态hello world html网站。我只想以“docker run imagename”开始。为此,我将运行参数添加到Dockerfile中。我想这样做的原因是我想在下一步在CloudFoundry上托管应用程序。不幸的是,当我这样做时,会出现以下错误

Dockerfile

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

发件人::

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

CMD[“nginx-d-p5000:5000”] 添加dockerfile 来自nginx:alpine 它已经启动了nginx。 从dockerfile构建之后

你应该用这个

docker run -d -p 5000:5000 <your_image> 
docker run-d-p 5000:5000
编辑: 如果要使用docker端口80->机器端口5000

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

谢谢。问题是我机器上的另一个应用程序使用了端口5000。
docker run -d -p 5000:80 <your_image>