Docker之安装Nginx

  🎉🎉欢迎来到我的CSDN主页!🎉🎉

🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚

🌟推荐给大家我的博客专栏《Docker之Dockerfile构建镜像》。🎯🎯

🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁

 前言

        在上一期有关Dokcer博客的分享中我们学习到一些有关网络的知识点,有IP、子网掩码、网关等等,我们也学习了网络模式中的host、Bridge以及我们自定义网络,其中我们有谈及到bridge网络模式如何去连接到两个容器以及自定义网络中如何去连接两个容器。今天这期博客基于上一期Docker的网络配置博客,仔细阅读干货满满。

一、完善数据库配置

        我们在上一期的博客分享中我们只是实现了数据库的安装以及使其项目连接到我们的数据库上。今天我们就来完善我们的项目部署。首先我们先进入到我们的mysql容器中我们对其用户进行授权。

         然后我们重启一下mysql服务,我们将jar包拖至指定的目录下

         我们在该目录下编写一个镜像文件。输入指令:vim Dockerfile进入编辑镜像文件中

From openjdkWORKDIR /projectCOPY spring.jar /projectCMD java -jar spring.jar --mysql.addr=m1

         我们退出并保存,我们构建一个镜像

 

        接下来我们运行三个容器

docker run -itd --name s1 --net mynet --ip 172.20.0.101 -p 8080:8080 spring:v1
docker run -itd --name s2 --net mynet --ip 172.20.0.102 spring:v1
docker run -itd --name s3 --net mynet --ip 172.20.0.103 spring:v1

 

          我们在我们主机进行测试访问,验证。 

        我们查看日志时就会发现是我们的数据库没有,无法连接到指定的数据库中。 

         接下来我们进行新建数据库,我们先进入mysql容器中,我们创建对应的数据库,然后执行对应的数据库脚本。

 

        我们将数据库脚本拖至mysql下的data目录下 

 

         我们进入到数据库容器中运行数据库脚本

输入命令:source /var/lib/mysql/数据库脚本

 

 

         我们在网页上再进行测试一遍,我们就可以访问到我们数据库中的数据了

二、安装Nginx

        我们首先运行一个容器使用Nginx镜像进行运行。

         我们回到我们的网页上去访问80端口

        我们成功的访问Nginx,说明我们Nginx成功开启,但是我们没有前端,接下来我们要去修改Nginx配置文件,我们要通过目录挂载的形式将配置文件和静态页面挂载进去。我们首先创建对应的文件夹

 

        我们将配置文件复制到该目录下。 

         配置文件的内容如下

#服务器的集群
upstream tomcatList {  server 172.20.0.101:8080 weight=1; server 172.20.0.102:8080 weight=1; server 172.20.0.103:8080 weight=1; 
} server {listen  80;server_name  www.zkingedu.com;location / {root   /etc/nginx/html/;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}location ~^/api/ {rewrite ^/api/(.*)$ /$1 break;proxy_pass  http://tomcatList;proxy_redirect default;}}

        我们切回ngnix文件夹下,将我们的静态文件页面拖至进去。

 

         我们移出之前创建的n1容器,重新创建一个

docker run -itd \
--name n1 \
-v /soft/nginx/conf.d:/etc/nginx/conf.d \
-v /soft/nginx/html:/etc/nginx/html \
-p 80:80 \
--net mynet \
--ip 172.20.0.104 \
nginx

 

         我们去到网页上刷新测试

        成功的访问到我们Nginx的负载均衡, 当我们访问呢下方网址时会无法访问,因为我们没有域名映射。

        因为我们要去域名映射才能生效,在C:\Windows\System32\drivers\etc下的一个hosts文件进行修改,双击进行修,修改不了的话右击属性,点击安全,找到自己用户选择完全控制即可。 自己虚拟机的ip地址+www.zkingedu.com

        我们最后进行测试。 


 🎉🎉本期的博客分享到此结束🎉🎉

📚📚各位老铁慢慢消化📚📚

🎯🎯下期博客博主会带来新货🎯🎯

🎁三连加关注,阅读不迷路 !🎁

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/412146.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣(144. 二叉树的前序遍历94.二叉树的中序遍历145. 二叉树的后序遍历)

题目链接 题目1: 思路:较简单的思路,就是先将左孩子全部入栈,然后出栈访问右孩子,右孩子为空,再出栈,不为空,右孩子入栈,然后再次循环访问左孩子。 /*** Definition fo…

Android NDK Crash信息收集捕获和日志异常定位分析(addr2line)

Android NDK 闪退日志收集与分析 我们在开发过程中,Android JNI层Crash问题或者我们引用的第三方.so库文件报错,都是一个比较头疼的问题。相对Java层来说,由于c/c++造成的crash没有输出如同Java的Exception Strace堆栈信息,所以定位问题也是个比较艰难的事情。 Google Br…

STM32+ MAX30102通过指尖测量心率+血氧饱和度

一、前言 重要的事情放在最前面:max30102只适用于指尖手指测量,不适用与手腕手指测量,如需做成可穿戴样式选择传感器的小伙伴请pass掉他,因为他只有红光和红外2种光,不够充足的数据源去运算。 由于一些原因&#xff0c…

关于“等待”的交互设计

01 背景 等待是人一生不可避免的事情:购票排队时的等待,飞机延误时的等待,就餐时的等待…等待往往和无聊、厌烦的情绪联系在一起,因为人们在等待中不仅浪费了大量时间,同时还要承受心理上的煎熬,时间越长心…

mac vscode latex实用

网上有教程怎么在vscode里安装macTex以及插件,然后就可以在latex里写代码了,这里需要修改的是对应的json文件,输入command P,可以看到最近打开的json设置文件,结果如下 然后设置这个json文件,我的json文件设置如下 …

4. Mybatis 事务和Spring事务关系

大体上分为两种情况:方法上添加了事务注解Transactional 和方法上没有添加事务注解Transactional。 添加了Transactional 注解的在注入 bean 的时候就会被创建代理类,在代理类中使用增强逻辑进行事务处理。没有添加Transactional 注解的,在 …

翼龙-2H无人机

一、概述 翼龙-2,是成都飞机工业集团研制的无人驾驶飞行器,是空中侦察、精确打击和应急通讯的平台。成都飞机工业集团于2015年9月的北京国际航空航天展览会上介绍了翼龙-2的概念。在2016年珠海航展期间,翼龙-2的原型机首次向公众展示。 因为…

openEuler安装Docker艰辛路程

文章目录 安装docker测试docker关于windows docker拉取镜像查看所有镜像删除镜像删除不在运行的进程强制删除正在运行的进程 启动docker容器服务-d测试 停止docker容器服务查看docker启动进程更新容器(没有自启动功能,更新为自启动)docker端口映射进入容器修改内容退…

docker环境下mongo副本集的部署及异常修复

最近更换了办公地点。部署在本地docker环境里的mongo数据库不能使用了。原因是本地的ip地址变更。以前的mongo副本集的配置需要更新。处理完后,索性重新记录一下mongo副本集在docker中的部署流程。 mongo的事务及副本集 我们先了解一下什么是事务,事务…

likeshop知识付费系统PHP版v1.4.0

✅ 新增功能 题库功能 ⚡ 功能优化 数据库检测优化 订单中心页优化 系统-登录时效优化 🐞 功能修复 详情页佣金可见设置未生效 更新内容说明 1.题库 题库功能的引入,不仅仅是对学习方式的一次革新,更是为广大用户提供了更多更丰富的学…

【Qt-license】误操作qt下载导致只能安装商业版试用十天,无法安装社区版

背景: 原本是为了学习qml,需要下载一个design studio,而这个需要比较新版的安装程序,但新版的安装程序官方都是online安装。于是从官网找下载链接。毕竟是英文的,又心急,误打误撞中我选择了商业版试用。 其…

从零开始搭建ubuntu 16.04 pwndocker环境

1.安装VMware-tools 1.1遇到问题 在使用 VMware Workstation时遇到了VMware Tools不能安装的问题,具体表现为:在要安装VMware Tools的虚拟机上右键 ----》安装VMware Tools(T)… 为灰色,不能够点击。 1.2解决方案    1. 关闭虚拟机&…