使用docker部署springboot项目并连接上mysql数据库 |
您所在的位置:网站首页 › matlab激活成功后打不开 › 使用docker部署springboot项目并连接上mysql数据库 |
使用docker部署springboot项目并连接上mysql数据库
思创斯忠实用户-ss • 2023年3月13日 07:00 • 未分类 使用docker部署springboot项目并连接上mysql数据库使用docker部署springboot项目并连接上mysql数据库需要的知识Linux操作系统docker(了解git的工作方式即可)工具xshell(用来连接linux服务器)xftp用来给linux服务器上传文件sqlyog(或者navicat)在服务器上解析.sql脚本maven(idea自带)用来打包接下来我们开始正式操作服务器的选择我选择的是阿里… 大家好,我是你的好朋友思创斯。今天说一说使用docker部署springboot项目并连接上mysql数据库,希望您对编程的造诣更进一步. 使用docker部署springboot项目并连接上mysql数据库 预览:http://8.142.6.23/#/screen 项目开源地址: 前端vue:https://gitee.com/gaohan888/echarts-learning/tree/master/vision 后端node.js: https://gitee.com/gaohan888/node-js-learning/tree/master/echarts_server 需要的知识 Linux操作系统 docker(了解git的工作方式即可)工具 xshell(用来连接linux服务器) xftp用来给linux服务器上传文件 sqlyog(或者navicat)在服务器上解析.sql脚本 maven(idea自带) 用来打包接下来我们开始正式操作 服务器的选择我选择的是阿里云的学生机,比较便宜,半年57。想要购买学生机的话直接百度搜索阿里云学生机,支付宝验证即可。我的配置如下 ![]() 简单介绍一下,docker我理解的就是更方便的部署工具,如果有玩过服务器的同学都知道,在linux服务器上配置mysql是一件挺麻烦的事,而用了docker,只需要几个命令,就可以配置好mysql。 docker 的三个概念: 仓库:仓库就类比于github仓库,上面存储着各种各样版本的软件 镜像,我们从docker上拉取一个软件初始就是个镜像 容器,容器就是镜像运行时,可以用的软件类比一下好理解,镜像就是java中的类,而容器则是由类生成的对象,类无法直接使用,而对象可以。 接下来开始实操 我们按照官网来 在安装docker前,先安装docker的包 sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2配置docker的仓库,从docker官方仓库下载会太慢,我们就将仓库配置到阿里云(类似于maven的仓库配置) sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装docker sudo yum install docker-ce docker-ce-cli containerd.io这里有个y要选择 ![]() 要继续配置一下阿里云镜像加速,按如下步骤完成即可. 步骤2,是写配置文件 1. mkdir -p /etc/docker 2. vim /etc/docker/daemon.json 3. systemctl daemon-reload 4. systemctl restart docker步骤2的配置文件格式,(估计会有人在这有问题,在这有问题的联系我), { "registry-mirrors": ["https://{自已的编码}.mirror.aliyuncs.com"] }自己的编码如何查看,网址: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors ![]() 开启docker sudo systemctl start docker跑一个docker版的helloworld,类似于java的hello,证明安装成功 sudo docker run hello-world出现下图内容,表示docker运行成功 ![]() 服务器配置总结为三个,防火墙,端口,和安全组 1.查看防火墙状态,如未开启要开启防火墙,我的是开启的 firewall-cmd --state![]() 如果没开启,开启防火墙的命令 systemctl start firewalld.service添加对外开放的端口,我是开了三个端口,一个80(Http端口),一个8080(tomcat),一个2206(mysql) 1. firewall-cmd --zone=public --add-port=80/tcp --permanent 2. firewall-cmd --zone=public --add-port=8080/tcp --permanent 3. firewall-cmd --zone=public --add-port=3306/tcp --permanent开完端口,要重新加载防火墙 firewall-cmd --reload查看开放的端口 firewall-cmd --list-ports![]() 配置安全组:百度如何配置进入配安全组的地方,按照下图配置的条件配置即可 ![]() ![]() 从docker hub上查找mysql镜像 docker search mysql从docker hub上拉取mysql,我拉取的mysql版本是mysql5.7 docker pull mysql:5.7运行mysql,开放的端口是3306,密码是123456, -d是后台运行 docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7docker ps 查看容器创建成功 ![]() 有个命令,可以进入容器内部,ctrl+p+q可以以后台运行的方式退出这个软件 docker exec -it 容器的id /bin/bash![]() 此时出现上图内容,表示mysql已经没有问题 连接服务器上的mysql![]() 执行我提供的sql脚本就好了 ![]() 执行成功 ![]() 将applicayion.yml中的url中的localhost改成你服务器的公网ip,还有将密码改成你服务器上mysql的密码 ![]() 打包的命令有两个,mvn clean ,mvn package ![]() 在target文件夹出现jar表示成功 ![]() 将springboot jar包项目打包成Docker镜像 在 /home 目录下创建docker文件夹 mkdir /home/docker使用xftp上传jar包 ![]() 编写Dockerfile文件 vim Dockerfile完整命令, vim的使用方法:点击i开始编写,编写完后点击esc,点击冒号,输入wq保存 FROM java:8 ADD blog-0.0.1-SNAPSHOT.jar /blog.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","/blog.jar"]解释 #注意,docker命令全部大写,这是规定。 # From 关键字表示,jar包依赖的环境。java:8 相当于jdk1.8 FROM java:8 #ADD命令 # blog-0.0.1-SNAPSHOT.jar:这是你上传jar包的名称。 # /blog.jar:这是自定义的名称。但是注意要有之前的/ ADD blog-0.0.1-SNAPSHOT.jar /blog.jar #MAINTAINER 作者名称。可以删除不写。 MAINTAINER zhangxiaosan #EXPOSE 项目暴露的端口号 EXPOSE 8080 #/blog.jar此处的名称要和ADD命令后面的一样。 ENTRYPOINT ["java","-jar","/blog.jar"]在docker文件夹下执行如下命令 docker build -t blog:1.0 .解释 说明: blog 代表要打包成的镜像名称。按照自己实际情况写。 :1.0 代表版本号,可以不写则默认为latest . 代表为当前目录。这就是为什么一直在步骤一文件夹中进行操作,并且Dockerfile在此文件夹中的原因。 若之前Dockerfile不在步骤一的文件夹中 则需要指定到对应的地址。![]() 接下来用docker images 就可以查看到这个镜像已经被创建好了,接下来运行这个镜像就可以了 docker run --name blog -d -p 80:8080 blog:1.0![]() 此时就可以用你的公网ip访问了,我绑定了域名,可以用域名访问。 还有个命令要提下,可以查看容器运行时的日志 docker logs 容器id![]() ![]() 文章由思创斯整理,转载请注明出处:https://ispacesoft.com/104262.html 数据 赞 (0)![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |