1、SpringBoot工程设置 1.1、pom文件本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程。
1.2、application.yaml文件4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.3.RELEASE com.wnx.mall.tiny mall-tiny-docker 0.0.1-SNAPSHOT mall-tiny-docker Demo project for Spring Boot UTF-8 UTF-8 1.8 true org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-aop org.springframework.boot spring-boot-starter-test test com.github.pagehelper pagehelper-spring-boot-starter 1.2.10 com.alibaba druid-spring-boot-starter 1.1.10 org.mybatis.generator mybatis-generator-core 1.3.7 mysql mysql-connector-java io.springfox springfox-swagger2 2.7.0 io.springfox springfox-swagger-ui 2.7.0 org.springframework.boot spring-boot-maven-plugin com.spotify docker-maven-plugin 1.1.0 build-image package build mall-tiny/${project.artifactId}:${project.version} http://106.55.226.70:2375 java:8 ["java", "-jar","/${project.build.finalName}.jar"] / ${project.build.directory} ${project.build.finalName}.jar
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: root
mybatis:
mapper-locations:
- classpath:mapper/*.xml
- classpath*:commapper/*.xml
2、Docker设置
2.1、下载Docker
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce systemctl start docker2.2、Docker Registry 2.0搭建
docker run -d -p 5000:5000 --restart=always --name registry2 registry:22.3、Docker配置修改
- 修改配置文件
vi /usr/lib/systemd/system/docker.service 修改为:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
- 支持HTTP上传
echo '{ "insecure-registries":["106.55.226.70:5000"] }'>/etc/docker/daemon.json
systemctl daemon-reload
systemctl stop docker
systemctl start docker
3、执行工作
3.1、MySQL服务启动
- 启动MySQl容器并进入容器
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 docker exec -it mysql /bin/bash
- 让远程连接生效
mysql -uroot -proot grant all privileges on *.* to 'root'@'%'; create database mall character set utf8;
- window连接导入sql
- 执行会发现,他会先把你的SpringBoot项目打包,再整成镜像上传到你的DockerImages中。
Lifecycle>package
- 运行
docker run -p 8080:8080 --name mall-tiny-docker --link mysql:db -v /etc/localtime:/etc/localtime -v /mydata/app/mall-tiny-docker/logs:/var/logs -d mall-tiny/mall-tiny-docker:0.0.1-SNAPSHOT
4、测试
http://106.55.226.70:8080/swagger-ui.html



