Nginx-通过docker安装使用

最近打算部署一个个人的网站,由于之前做的都是后端的事情,部署个jar包就可以了,也没有完整的部署过一个项目,然后就去了解了一些nginx的用法,这里做一下记录

首先还是打算用docker安装, 比较方便,之后挂载一下文件以及配置的目录就可以了,不了解docker的同学,可以先去熟悉一下,下面看一下详细的操作

运行nginx容器

命令:

1
docker run -d -p 80:80 nginx

这里直接先运行一个 nginx 容器,也没有去挂载外部的配置,原因是我们要把nginx里面的配置文件复制出来先

宿主机创建挂载文件夹

要挂载的话,首先我们需要知道在容器里面,nginx的配置文件以及其他数据都放在哪里,如下:

  • 容器中nginx.conf配置文件路径: /etc/nginx/nginx.conf
  • default.conf配置文件的路径: /etc/nginx/conf.d/default.conf
  • 默认首页文件夹html路径: /usr/share/nginx/html
  • 日志文件路径: /var/log/nginx

这里一共需要四个文件夹,所以我们在宿主机中也需要创建这四个文件夹,命令如下:

1
mkdir -p /usr/local/docker/nginx/{conf,conf.d,html,logs}

创建好了之后,就是要把之前我们运行的那个容器里面的配置文件复制出来,命令如下:

1
2
docker cp 305a1a43b71f:/etc/nginx/nginx.conf /usr/local/docker/nginx/conf/nginx.conf
docker cp 305a1a43b71f:/etc/nginx/conf.d/default.conf /usr/local/docker/nginx/conf.d/default.conf

305a1a43b71f是容器的id,可以通过 docker ps 查看,关于docker的用法不多做介绍了

重新运行nginx

准备工作都ok了之后,把之前启动的那个容器给删掉

1
docker rm -f 305a1a43b71f

用以下命令再启动新的nginx:

1
2
3
4
5
docker run --name nginx -d -p 80:80 \
-v /usr/local/docker/nginx/html:/usr/share/nginx/html \
-v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/docker/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \
-v /usr/local/docker/nginx/logs:/var/log/nginx nginx

启动完成之后就ok了

测试

最后在 /usr/local/docker/nginx/html 随便放一个html,然后就可以访问了