windows下Docker中安装Nginx(图文超详细)

1,141 阅读3分钟

Nginx安装

拉取镜像

访问 dockerhub 查找所需的镜像版本:


这里我选择 1.24.0 版,执行如下命令:

docker pull nginx:1.24.0

命令执行结果:

拷贝配置文件

随后,我们第一次运行镜像,用于拷贝配置文件和 html 目录到宿主机。
我解释下将 Docker 容器的目录挂载到宿主机的目的:

  • 数据持久化:默认情况下,当容器被删除时,它内部的所有数据也会丢失。通过将数据目录挂载到宿主机,可以确保重要数据得到持久化保存;随后如果运行相同的镜像,新的容器仍然可以使用保存在宿主机上的数据和配置。
  • 方便数据管理和调试:我选择 Docker 主要是看重它便捷的分布式应用部署能力,可以在开发和调试阶段在本地开发机上部署多个应用。通过卷挂载,我可以直接在宿主机上编辑配置文件,调整应用参数,从而加快开发和调试过程。

第一次运行 nginx 镜像的命令:容器名nginx

docker run -p 80:80 -d --name nginx nginx:1.24.0

拷贝 Nginx 主配置文件/etc/nginx/nginx.conf

docker cp nginx:/etc/nginx/nginx.conf F:\nginx\conf

Nginx 主配置文件包含了影响 Nginx 全局行为的命令,包括事件处理、HTTP 服务器的基本配置(如监听端口、文件路径等)、日志文件位置以及其他重要配置。

拷贝 Nginx 额外配置文件目录:/etc/nginx/conf.d

docker cp nginx:/etc/nginx/conf.d F:\nginx\conf

conf.d目录用于存放 Nginx 的额外配置文件。默认情况下,nginx.conf主配置文件中包含了一个 include 指令,指向此目录下的所有 .conf 文件。

拷贝 html 目录:/usr/share/nginx/html

docker cp nginx:/usr/share/nginx/html F:\nginx

这是 Nginx 的默认文档根目录。当您使用 Nginx 来提供静态网页服务时,放置在此目录下的文件和目录将可以通过 web 访问。(注:可以在配置文件 server 块中,使用 root 指令指定根目录)

正式运行镜像

拷贝文件完成后,删除第一次试运行的 nginx 容器:

docker rm nginx

正式运行 nginx,将宿主机上的配置文件和文档根目录挂载到容器上:

docker run -p 81:80 --network my_net -d --name nginx -v F:\nginx\conf\nginx.conf:/etc/nginx/nginx.conf  -v F:\nginx\conf\conf.d:/etc/nginx/conf.d -v F:\nginx\html:/usr/share/nginx/html nginx:1.24.0

参数解释

  • --network:将容器加入到名为 my_net 的网络。注:如果该网络不存在,docker 会报错。若网络不存在,需要执行docker network create my_net创建。

  • -p:端口映射,冒号前为宿主机端口,冒号后为容器内的端口,即宿主机上访问 81 端口的 HTTP 请求会被交给 nginx 容器的 80 端口。

  • -d:后台运行容器

  • --name:指定容器名称,本例中名称为 nginx。

  • -v:挂载配置文件、html 目录到宿主机;冒号前为宿主机文件路径,冒号后为挂载到容器中的路径。可以看到宿主机被挂载的三个目录/文件是第一次运行时从容器内拷贝出来的,

测试

浏览器访问宿主机映射的 81 端口: http://localhost:81

页面展示如下,那么恭喜你 Nginx 已经成功安装并运行啦!
如果

原文链接:blog.csdn.net/wzz2333/art… 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议。