热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于DockerCompose部署SpringBoot+MySQL

1、安装Docker#1.需要的安装包yuminstall-yyum-utils#2.设置镜像的仓库yum-config-manager\--add-repo\http:mi

1、安装Docker

#1.需要的安装包
yum install -y yum-utils#2.设置镜像的仓库
yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #使用阿里云仓库#更新yum软件包索引
yum makecache fast#3.安装docker相关的内容
yum install docker-ce docker-ce-cli containerd.io#4.启动docker
systemctl start docker#5.查看当前docker版本
docker version

2、安装Docker-Compose

#1、下载
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 这个可能快点!
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose#2、授权
sudo chmod +x /usr/local/bin/docker-compose

3、部署SpringBoot + MySQL

1、创建SpringBoot项目,导入以下依赖


  • org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.mybatis.spring.bootmybatis-spring-boot-starter2.2.2com.alibabafastjson1.2.76mysqlmysql-connector-java5.1.48org.projectlomboklombok

2、搭建基础环境架构

【实体类】


  • /*** @Author 嘉宾* @Data 2022/3/21 14:54* @Version 1.0*/
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Person {private Integer pid;private String pname;private Integer psex;
    }

【接口】


  • /*** @Author 嘉宾* @Data 2022/3/21 14:55* @Version 1.0*/
    @Mapper
    public interface PersonMapper {/*** 查询全部信息*/List findAll();
    }

【mapper映射】




【service】


  • /*** @Author 嘉宾* @Data 2022/3/21 14:57* @Version 1.0*/
    public interface PersonService {/*** 查询全部信息*/List findAll();
    }

【impl】


  • /*** @Author 嘉宾* @Data 2022/3/21 14:57* @Version 1.0*/
    @Service
    public class PersonServiceImpl implements PersonService {@Autowiredprivate PersonMapper personMapper;@Overridepublic List findAll() {return personMapper.findAll();}
    }

【controller】


  • /*** @Author 嘉宾* @Data 2022/3/21 14:58* @Version 1.0*/
    @RestController
    @RequestMapping("/person")
    public class PersonController {@Autowiredprivate PersonService personService;@GetMapping("/findAll")public String findAll(){List personList = personService.findAll();return personList.toString();}@GetMapping("/hello")public String hello(){return "

    Hello.JiaBin!";}
    }

【配置文件】


  • spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    #这里填写服务名即可mysqldbserver,无需端口号
    spring.datasource.url=jdbc:mysql://mysqldbserver:3306/sys?useUnicode=true&characterEncoding=utf-8&useSSL=false
    spring.datasource.username=root
    spring.datasource.password=123456mybatis.mapper-locations=classpath:mapper/*.xml
    mybatis.type-aliases-package=com.jiabin.pojo

3、Dockerfile1


  • FROM java:8VOLUME /vol/developmentRUN mkdir -p /vol/developmentWORKDIR /vol/developmentCOPY 这里需要改为自己的jar包.jar /vol/development/app.jarCMD ["java", "-Xmx200m", "-Djava.security.egd=file:/dev/./urandom","-jar","/vol/development/app.jar"]

4、Dockerfile


  • FROM mysql:5.7.17

5、docker-compose.yml


  • version : '3'
    services:#sql服务mysqldbserver:#服务名称container_name: mysqldbserver#镜像image: mysql:5.7.17build:context: .dockerfile: Dockerfile#端口ports:- "3306:3306"command: [ #执行多条指令'mysqld','--innodb-buffer-pool-size=20M','--character-set-server=utf8','--collation-server=utf8_general_ci','--default-time-zone=+8:00','--lower-case-table-names=1']environment:# 数据库MYSQL_DATABASE: sys# 设置root用户密码MYSQL_ROOT_PASSWORD: 123456#spring服务springappserver:# 服务名称container_name: springappserverbuild:context: .dockerfile: Dockerfile1ports: #端口- "8080:8080"volumes: #数据卷- /vol/developmentdepends_on:- mysqldbserverlinks: #连接sql- mysqldbserver

6、将项目打包以及上述三个配置文件统一上传到我们的服务器


 

7、使用命令docker-compose up部署,通过ip+端口号访问项目即可!


推荐阅读
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • linux qt打开常用文件格式,设置Linux Qt文件默认打开方式为QtCreator
    Linux自定义文件打开方式也可参照文本抱歉,本文前段时间写的ubuntu下的Qt工程文件默认打开方式是不好用的,因为其他的文本文件也会受到影响,强迫症患者,每次打开Qt工程都是先 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 我无法续订几天前过期的RHELDeveloper帐户订阅。我执行了以下步骤,但是,订 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
author-avatar
聆听最遥远的歌声
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有