spring-boot项目的docker集成化部署(二)--springboot的mysql项目

spring-boot项目的docker集成化部署(二)--springboot的mysql项目 [toc]html

补充使用maven构建操做流程

一、配置基本的环境

全局工具配置—配置Java、maven、git基本工具(注意:按照本身的路径安装便可) mysql

配置Jenkins基本环境

二、安装maven插件

插件管理—可选插件下载找到:Maven Integration plugin;等待安装成功后,就能够在新建maven的Jenkins工程。git

三、构Jenkins自动构建工程

  • 点击“肯定”后填写源码管理:

gitee.com/will-we/spr…github

  • 填写构建环境,填写的maven命令和eclipse相似不用添“mvn”;最后保存工程并开始构建工程
  • 执行maven命令
    clean package docker:build
    复制代码

四、手动部署dockers镜像

构建成功后,会看到以前的同样的工程镜像。执行以下命令spring

docker run --name= springboot/spring-boot_docker_demo -p 8081:8080 -t srping-demo
复制代码

基于mysql的Springboot的docker工程

  1. 编写开发工程,这里使简单CRUD为例;具体项目参考以下路径:

gitee.com/will-we/spr…
#须要注意:这里使用的多环境配置。sql

Springboot多环境配置

  1. 安装以前的构建步骤开始从新构建doker镜像 docker

    查看docker镜像

  2. 开始手动部署,操做命令以下数据库

启动mysql容器
docker run -d \
    --name mybatis-mysql \
	-p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=root \
	-v /home/weir/programs/data/mysql/springoot-mysql:/var/lib/mysql
    mysql:5.7
 # 运行Springboot的项目
docker run  -it \
    --name demo-springboot-docker \
    --link mybatis-mysql:mybatis-mysql \
    -p 8088:8081 \
    -e DATABASE_HOST=mybatis-mysql \
    -e DATABASE_PORT=3306 \
    -e DATABASE_NAME=db_mydb \
    -e DATABASE_USER=root \
    -e DATABASE_PASSWORD=root \
    springboot/spring-boot_docker_demo 
复制代码

启动Springboot项目
springboot运行结果

#补充docker命令说明:
-v 主机的目录做为容器的数据卷
-e 设置启动容器是的环境变量
-t 分配terminal终端
--name 设置容器名称
-p  端口映射,格式为:主机(宿主)端口:容器端口
-link 添加连接到另外一个容器
复制代码

重要问题记录

docker容器的持久化数据问题:

关于docker数据持久化的三种方式:springboot

  • volumes,
  • bind mounts
  • tmpfs mounts

这里使用bind mounts的方式;具体的差别和介绍参考以下连接bash

Springboot程序连接出现错误,关于应用使用“mysql”镜像的,网络链接问题

Springboot链接mysql出错

在使用localhost:3306在docker容器中出现以下错误:这是因为docker容器随机映射致使。
使用–link以后,docker会在子容器(这里的spring boot容器)的/etc/hosts中将父容器(这里的mysql容器)与父容器的ip地址绑定,那么咱们就能够mysql:3306来访问数据库了。也就是把application.properties中数据库url改成;以下命令经过环境变量配置:

docker run  -it \
    --name demo-springboot-docker \
    --link mybatis-mysql:mybatis-mysql \
    -p 8088:8081 \
    -e DATABASE_HOST=mybatis-mysql \
    -e DATABASE_PORT=3306 \
    -e DATABASE_NAME=db_mydb \
    -e DATABASE_USER=root \
    -e DATABASE_PASSWORD=root \
    springboot/spring-boot_docker_demo
复制代码

docker端口映射或启动容器时报错Error response from daemon: driver failed programming external connectivity on endpoint quirky

docker启动是出现异常

  1. 问题分析 可能缘由因为在重启了网络配置影响到了docker的端口映射;从而致使如上的缘由。
  2. 解决方案 #从新启动docker的服务。
Systemctl restart docker
复制代码

启动mysql容器时,没法使用远程链接

链接mysql出错
mysql的版本

  1. 缘由分析: MySQL链接2059错误,修改加密规则 大概的意思是;安装的mysql的版本新版本mysql8.0;修改了加密方式致使。
  2. 解决方式 方案一:安装mysql5.7版本
docker run -d \
    --name mybatis-mysql \
	-p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=123456 \
    mysql:5.7
复制代码
相关文章
相关标签/搜索