Docker+nginx镜像,实现负载均衡

Docker+nginx镜像,实现负载均衡

1、Dockerfile,实现容器配置文件修改

Dockerfile的内容:

from nginx:latest
maintainer zcun.com #作者
#run rm -rf /usr/local/tomcat/conf/server.xml
#代替server.xml文件 需改root目录
copy conf/nginx.conf /etc/nginx/
copy conf/default.conf /etc/nginx/conf.d/
#run rm -rf /usr/local/tomcat/webapps/*
#copy to/ /usr/local/tomcat/webapps/
expose 8080

本地nginx.conf 的内容:

server {
    listen       80;
    server_name localhost;
    location / {
        proxy_pass   http://tomcatServer;
    }
    proxy_connect_timeout 10;
}

本地nginx.conf的内容:

user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
    
    upstream tomcatServer {
      server 192.168.100.210:9080 weight=1 max_fails=1 fail_timeout=50s;
      server 192.168.100.210:9081 weight=1 max_fails=1 fail_timeout=50s;
    }
    include /etc/nginx/conf.d/*.conf;
}

2、build,生成负载的容器

在Dockerfile文件,同目录下执行命令:
docker build -t nginx_test .
注意:命令最后有个"点"

3、run,运行容器

docker run --name nginx_test -p 80:80 -d --restart=always nginx_test

备注:两个负载的服务需要自己启动

如有帮助,打赏不限

你可能感兴趣的:(nginx负载均衡)