如何在Windows上启动Docker中的nginx

我正在使用Windows 10,我已经安装了Docker并拉下了nginx:

docker pull nginx

我用这个命令启动了nginx:

docker run -dit --rm --name nginx -p 9001:80 nginx

简单的页面在localhost:9001上可用。

我想将nginx.conf文件传递给nginx。 另外,我想给它一个文件夹根,所以在localhost:9001我看到静态页面D:/nginx/website_files/index.html。 在文件夹website_files中还有其他静态页面。

如何将nginx.conf和文件夹path传递给Windows上的Docker中的nginx?

您可以使用主机卷映射

-v <host-directory>:<container-path>

例如:

docker run -dit --rm -vd:/data:/data -p 9001:80 nginx /bin/sh

我开始使用Kitematic并拉上你好,world-nginx。 有了它,我可以通过点击卷 – > / website_files来浏览文件。 在打开的path上,可以添加其他静态文件。 之后,nginx可以重新启动,并将端口增加1.端口号可以通过docker ps看到。

要更改nginxconfiguration文件,在启动nginx后,我运行这个命令docker cp D:/nginx/multi.conf b3375f37a95c:/etc/nginx/nginx.conf其中b3375f37a95c是从docker docker ps命令获得的容器ID。 之后,应该从Kitematic重新启动nginx。

如果你只想编辑nginx.conf而不是完全改变它,你可以先用docker cp b3375f37a95c:/etc/nginx/nginx.conf D:/nginx/multi.conf获取当前configuration文件docker cp b3375f37a95c:/etc/nginx/nginx.conf D:/nginx/multi.conf ,编辑multi.conf和像以前一样复制它。