docker安装 (省略)

拉取Nginx镜像文件并且简单部署

拉取

# 我默认拉的是最新的
docker pull nginx

在这里插入图片描述

部署
这里只是简单部署,为了获取Nginx的配置文件

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

获取容器实例ID
在这里插入图片描述

创建卷轴目录

# 这里创建外部卷轴目录:根据自己定义的目录来
# conf 主要配置Nginx的代理相关配置,后期集群或者HTTPS证书均在里面配置
# logs 主要记录Nginx在运行中的日志
# html 主要对Nginx代理出现问题类似404等集中返回页面代理
# conf.d 主要配置多域名/IP 代理多端口服务配置,以及错误页面等
mkdir -p /dockers/nginx/{conf.d,logs,html,conf}

执行

docker cp 容器ID:/etc/nginx/nginx.conf /dockers/nginx/conf/nginx.conf
 
docker cp 容器ID:/etc/nginx/conf.d/default.conf /dockers/nginx/conf.d/default.conf

这时候就会发现我们之前创建的目录会出现Nginx原生配置文件,对于我这种小白只能照葫芦画瓢简单修改了。

我们主要修改还是conf.d/default.conf文件

server {
    listen       80;
    server_name  www.IP1.com;

    location / {
       proxy_pass http://127.0.0.1:8080; 
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /dockers/nginx/html;
    }
}

server {
    listen       80;
    server_name  www.IP2.com;
    
    location / {
       proxy_pass http://127.0.0.1:8081;  
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /dockers/nginx/html;
    }
}

保存(wq!)

重新启动镜像并且挂载

# 会玩docker的同学或者大佬,这里的解释估计在座的各位比我牛逼的多,我就不献丑解释了
# 关注点就是挂在的目录一定要和自己的对齐,不然找不到服务的
# 还有这个 --net host 一定要加上  容器就和宿主机共用网络 不加就找不到服务
docker run \
  --name nginx \
  -d -p 80:80 --net host \
  -v /dockers/nginx/html:/usr/share/nginx/html \
  -v /dockers/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
  -v /dockers/nginx/conf.d:/etc/nginx/conf.d \
  nginx;

别忘记开80端口

效果展示

在这里插入图片描述

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐