Docker部署Nginx

前言

在上一篇中使用Docker部署了Nacos,Nacos在集群下是需要Nginx进行代理,负载均衡的。所以就有了这一遍帖子。

1、拉取 Nginx 镜像

使用docker pull nginx命令拉取 Nginx 镜像

2、创建挂载目录

  1. 创建配置文件目录

    mkdir -p /home/nginx/conf

  2. 创建站点目录

    mkdir -p /home/nginx/html

  3. 创建Nginx日志目录

    mkdir -p /home/nginx/log

3、将容器中的配置文件等复制到宿主机对应目录中

  1. 启动 nginx 容器

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

  2. 将容器中的 nginx.conf 文件复制到宿主机的挂载目录中

    docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/

  3. 将容器中的 conf.d 文件复制到宿主机的挂载目录中

    docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/

  4. 将容器中的 html 文件复制到宿主机的挂载目录中

    docker cp nginx:/usr/share/nginx/html /home/nginx/html/

4、创建启动脚本

执行以下命令启动 Nginx 容器:

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

5、设置代理

将以下配置配置到nginx.conf配置文件的http下即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
upstream nacoscluster {
server 192.168.0.107:8848;
server 192.168.0.108:8848;
server 192.168.0.109:8848;
}

server {
listen 80;
server_name localhost;

location /nacos/{
proxy_pass http://nacoscluster/nacos/;
}
}