docker 部署nginx与服务端数据交互

      restfull风格的架构与自动部署已成为现在的主流了,今天我就来讲讲在docker上自动部署Nginx,并且反向代理与centos7服务器上数据交互。

        一、docker下载centos7镜像,docker pull centos:7 ;

        二、将项目打包成jar包

                                                        

        三、因为我的docker是在虚拟机下运行的,我现在将打好的jar包上传到虚拟机springboot目录下




        四、在docker下运行centos7    #docker run --name centos  -itd centos:7

        五、将虚拟机啊springboot下的jar包上传到我们运行的容器centos里,这里我直接用的是docker的copy功能,也可以在运行容器的时候用挂载功能 -v /springboot/springboot.jar:/springboot/(挂载的时候,容器里不存在的目录是会自己创建的)。

docker cp /springboot/springboot.jar centos:/springboot/

六、容器centos7是缺少java运行环境的,我们到oracle的官网去下载一下java1.8的jar包,我是用Windows去官网上下载的,如果在容器里使用wget下载的话,在解压的时候,会报错的,因为wget默认是不同意oracle上的规则的。所以还是老老实实的用Windows访问官网界面,下载后,放到虚拟机的java目录下




将下载好的jar包上传到容器centos的java目录下

#docker cp /java/jdk-8u161-linux-x64.tar.gz centos:/java/

七、进入centos容器,#docker exec -it centos bash并在容器下解压配置java环境,这一步我直接跳过吧,在Linux在配置java环境,这个应该不难吧,我就不一一说了。

八、让容器启动,我们就运行我们的springboot项目,#vi /etc/bashrc

加上java -jar /springboot/springboot.jar,  source /etc/bashrc

exit退出容器

九、将我们的容器centos生成镜像springboot:1.0 # docker commit centos springboot:1.0

docker images就能看到我们生成的镜像了



十、运行容器springboot:1.0并且暴露端口8080 #docker run --name springboot  -itd -p 8080:8080 springboot:1.0


十一,运行容器Nginx并且暴露端口80 # docker run --name nginx --link springboot:sp -d -p 80:80 nginx(--link,是让两个容器进行数据交互),进入Nginx容器内#docker exec -it nginx bash,并且查看hosts文件,看看--link的容器的IP地址cat /etc/hosts



将Nginx的配置文件copy到虚拟机的root下,进行反向代理配置,之所以拷出去,是因为在Nginx容器内,vi命令是不管用的,只能将其copy出来修改,exit退出容器;#docker cp nginx:/etc/nginx/conf.d/default.conf /root/




将如下配置添加进去:

}
    location /tyy {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass   http://172.17.0.2:8080;

    }

(只要进行/tyy访问,Nginx就将它交给后台处理);

(172.17.0.2,这个IP地址就是Nginx hosts文件中的那个地址,切记,只有这个地址,数据才能交互,不然进行数据访问的时候,Nginx会报错502,也就是服务器当机。)

再将default.conf文件copy回Nginx容器内,#docker cp /root/default.conf nginx:/etc/nginx/conf.d/

将我们的静态界面也copy到Nginx容器内,# docker cp /springboot/html nginx:/usr/share/nginx/

下面是我的html简单结构跟简单的html代码,只是测试,所以写得简单,还望包涵;





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值