Docker部署Nginx

本文介绍了如何使用Docker从官方仓库拉取Nginx镜像,并详细解释了启动Nginx容器的命令,包括端口映射、配置文件挂载、日志管理及内存分配等设置,确保Nginx服务在Docker环境下稳定运行。

一、拉取镜像

  1. https://hub.docker.com/ 查询Nginx镜像
  2. 拉取镜像到本地
    docker pull nginx
    

二、启动Nginx容器

  1. 启动容器

    docker run  --name nginx -m 200m -p 80:80 \
    -v /opt/nginx-server-port/conf/nginx.conf:/etc/nginx/nginx.conf \
    -v /opt/nginx-server-port/logs:/var/log/nginx \
    -v /opt/nginx-server-port:/usr/share/nginx/html \
    -v /opt/nginx-server-port/conf:/etc/nginx/conf.d \
    -e TZ=Asia/Shanghai \
    --net extnetwork \
    --privileged=true -d nginx
    
    参数说明
    -name  给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器
    -p     映射端口,将docker宿主机的80端口和容器的80端口进行绑定
    -v    挂载文件用的,
    -m 200m 分配内存空间
    -e TZ=Asia/Shanghai  设置时区
    第一个-v 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,
    第二个-v 表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面
    第三个-v 表示的和第一个-v意思一样的。
    -d 表示启动的是哪个镜像
    
  2. 查看容器和IP

    docker ps #查看运行的镜像
    docker inspect 6fe7cd725506 | grep "IPAddress"
    

    在这里插入图片描述

三、配置文件

nginx.conf

events {
  worker_connections  1024;  ## Default: 1024
} 

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    client_max_body_size 20m;   
	upstream eng-admin-stream{
		server 127.0.0.1:8090 weight=1 max_fails=2 fail_timeout=2;
		# server 10.0.4.42:8090 weight=1 max_fails=2 fail_timeout=2;
		# --> 网站地址  权重为 1 最多错误几次  每次检查持续时间
	}
	upstream eng-front-stream{
		server 127.0.0.1:8088 weight=1 max_fails=2 fail_timeout=2;
		# server 10.0.4.42:8088 weight=1 max_fails=2 fail_timeout=2;
		# --> 网站地址  权重为 1 最多错误几次  每次检查持续时间
	}
    include conf.d/*.conf;
}

server 扩展配置

server {
    listen       80;
    server_name  localhost;
    add_header X-Frame-Options SAMEORIGIN;
    
    proxy_redirect http:// https://;
	port_in_redirect on;
	
	 location / {
        client_max_body_size 300M;
		# 容器地址
		root /usr/share/nginx/html/dist;
        index index.html;
        # 用户浏览器端的缓存
        location ~* \.(css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico)$
        {
        	expires 1h;
        	if (-f $request_filename){
         		break;
          }
        }
		proxy_set_header Host $http_host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Real-Ip $remote_addr;
		proxy_set_header X-NginX-Proxy true;
			
        # 动态页面,交给tomcat处理
        if (!-e $request_filename) {
        	proxy_pass  http://172.16.101.156:8088; 
        }
    }
	
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值