假如开发环境是本机电脑(Windows),测试环境是另一台机器(Centos系统);为了简化项目的打包,上传到测试环境,启动等操作,可以通过IDEA+docker来部署项目。
1.环境准备
1.1CentOS7开启docker tcp端口
systemctl daemon-reload 配置文件重新加载
systemctl restart docker 重启
1.2配置docker可以连接私服仓库
配置文件中/etc/docker/daemon.json
加上**{“insecure-registries”:[“10.10.10.10”]}**
10.10.10.10为Harbor地址
配置完需执行以下步骤:
systemctl daemon-reload 配置文件重新加载
systemctl restart docker 重启
2.IDEA安装docker并测试
File->Settings->Plugins,下载后重启IDEA
File->Settings->Docker 新增docker进行连接测试
3.SpringBoot项目修改
3.1pom文件修改
build->plugins下引入以下内容载
注意:填入实际的服务器ip
<!--使用docker-maven-plugin插件-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<!-- 当执行mvn package时,执行: mvn clean package docker:build-->
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 指定生成的镜像名-->
<imageName>${project.artifactId}</imageName>
<!-- 指定标签-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!-- 指定 Dockerfile 路径-->
<dockerDirectory>${project.basedir}</dockerDirectory>
<!-- 指定远程docker环境地址-->
<dockerHost>http://10.10.10.10:2375</dockerHost>
<!-- 复制jar包到docker容器指定目录配置 -->
<resources>
<resource>
<targetPath>/tmp</targetPath>
<!-- 包所在的路径,此处配置的 即对应target 目录-->
<directory>${project.build.directory}</directory>
<!--需要包含的jar包,这里对应的是 Dockerfile中添加的文件名,打包后的jar文件 -->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
3.2在项目根目录新增Dockerfile
4.项目部署
4.1连接到docker
4.2编译打包镜像
Maven->clean->package
打包时会自动构建镜像并上传到对应的服务器;
4.3创建容器及集群
配置文件的端口号要保持与上面一致.