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