docker搭建nginx+springboot集群

简介: 1、首先准备两个springboot jar包,一个端口设置为8000,一个设置为8080。2、打包第一个springboot jar包,Dockerfile如下FROM java:8VOLUME /tmpADD spring-boot-docker-0.

1、首先准备两个springboot jar包,一个端口设置为8000,一个设置为8080。

2、打包第一个springboot jar包,Dockerfile如下

FROM java:8
VOLUME /tmp
ADD spring-boot-docker-0.1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

然后运行docker构建命令

docker build -t xiao/springboot .

3、同理我们构建第二个镜像springboot2


4、构建nginx,Dockerfile如下

FROM ubuntu:latest
MAINTAINER xiao
ENV REFRESHED_AT 2017-03-19
RUN apt-get update
RUN apt-get -y -q install nginx
RUN mkdir -p /var/www/html
ADD nginx/global.conf /etc/nginx/conf.d/
ADD nginx/nginx.conf /etc/nginx/nginx.conf
EXPOSE 80

其中global.conf设置如下

upstream service_group{
      server sample:8080 max_fails=1 fail_timeout=60s weight=1;
      server sample2:8000 max_fails=1 fail_timeout=60s weight=2;
}


server {
        listen 80;
        server_name localhost;
        location / {  
                proxy_pass http://service_group;  
                proxy_redirect default;  
            }  
              
      
            error_page   500 502 503 504  /50x.html;  
            location = /50x.html {  
                root   html;  
            }  
} 

nginx.conf如下

user www-data;
worker_processes 4;
pid /run/nginx.pid;
daemon off;

events {  }

http {
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;
  include /etc/nginx/mime.types;
  default_type application/octet-stream;
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;
  gzip on;
  gzip_disable "msie6";
  include /etc/nginx/conf.d/*.conf;
}

注意daemon设置为off省的一启动就关闭容器。

5、构建nginx镜像。

6、使用 docker iamges查看镜像

7、启动两个springboot镜像

docker run -d -h sample -p 8080:8080 --name sample xiao/springboot
docker run -d -h sample2 -p 8000:8000 --name sample2 xiao/springboot2

8、启动nginx镜像

docker run -d -h sample2 -p 9000:80 --link sample:sample --link sample2:sample2  --name nginx1 xiao/nginx nginx

9、使用docker ps查看container状态

10、访问http://localhost:9000/ 就能实现nginx负载均衡随机选择两个服务器进行转发。

 

相关文章
|
16天前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
22 2
|
22天前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
39 3
|
2月前
|
Java Docker 索引
Springboot的Container Images,docker加springboot
本文介绍了如何使用Spring Boot的层索引文件和Docker优化Spring Boot应用程序的容器化过程,包括解压缩可执行jar和创建分层Docker映像的方法。
36 9
Springboot的Container Images,docker加springboot
|
26天前
|
前端开发 Java Docker
使用Docker容器化部署Spring Boot应用程序
使用Docker容器化部署Spring Boot应用程序
|
28天前
|
Java Docker 微服务
利用Docker容器化部署Spring Boot应用
利用Docker容器化部署Spring Boot应用
46 0
|
2月前
|
Java Docker 微服务
SpringBoot微服务打包Docker镜像
SpringBoot微服务打包Docker镜像
76 11
|
3月前
|
应用服务中间件 Linux nginx
Docker镜像-手动制作yum版nginx镜像
这篇文章介绍了如何手动制作一个基于CentOS 7.6的Docker镜像,其中包括下载指定版本的CentOS镜像,创建容器,配置阿里云软件源,安装并配置nginx,自定义nginx日志格式和web页面,最后提交镜像并基于该镜像启动新容器的详细步骤。
180 21
Docker镜像-手动制作yum版nginx镜像
|
2月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
41 4
|
3月前
|
应用服务中间件 nginx Docker
Docker镜像-基于DockerFile制作编译版nginx镜像
这篇文章介绍了如何基于Dockerfile制作一个编译版的nginx镜像,并提供了详细的步骤和命令。
534 17
Docker镜像-基于DockerFile制作编译版nginx镜像
|
2月前
|
前端开发 应用服务中间件 nginx
docker运行nginx镜像
这篇文章详细说明了如何在Docker中部署并运行Nginx服务,包括拉取镜像、配置文件的挂载以及容器的启动配置。
388 0
docker运行nginx镜像