spring-boot项目的docker集成化部署(二)--springboot的mysql项目 [toc]html
全局工具配置—配置Java、maven、git基本工具(注意:按照本身的路径安装便可) mysql
插件管理—可选插件下载找到:Maven Integration plugin
;等待安装成功后,就能够在新建maven的Jenkins工程。git
gitee.com/will-we/spr…github
clean package docker:build
复制代码
构建成功后,会看到以前的同样的工程镜像。执行以下命令spring
docker run --name= springboot/spring-boot_docker_demo -p 8081:8080 -t srping-demo
复制代码
CRUD
为例;具体项目参考以下路径:gitee.com/will-we/spr…
#须要注意:这里使用的多环境配置。sql
安装以前的构建步骤开始从新构建doker镜像 docker
开始手动部署,操做命令以下数据库
启动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
复制代码
#补充docker命令说明:
-v 主机的目录做为容器的数据卷
-e 设置启动容器是的环境变量
-t 分配terminal终端
--name 设置容器名称
-p 端口映射,格式为:主机(宿主)端口:容器端口
-link 添加连接到另外一个容器
复制代码
关于docker数据持久化的三种方式:springboot
这里使用bind mounts的方式;具体的差别和介绍参考以下连接bash
在使用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
复制代码
Systemctl restart docker
复制代码
docker run -d \
--name mybatis-mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
复制代码