上一篇《手动部署springboot工程到Docker》仿佛依然不太便捷,因为需要手动上传jar包,作为懒癌最晚期的码奴,怎么能忍受,再进阶,可以考虑一键部署到服务器。
BUT,请注意,建议只在开发测试环境或者内网环境使用,因为这样你的docker会暴露在互联网上,存在严重风险
一、环境
操作系统:centos8
IDE:idea
云环境:腾讯云(安全组打开2375端口)
二、修改服务器docker配置
配置文件位置:/lib/systemd/system/docker.service
添加内容: -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
vi /lib/systemd/system/docker.service
资源文件.png
重启docker
[root@host-xcg bee]# systemctl daemon-reload
[root@host-xcg bee]# systemctl restart docker
三、idea配置docker插件
3.1 插件安装
和普通的idea插件一样,在file-settings中找到plugins,搜索docker---》install即可
image.png
3.2配置docker插件
如果没有问题,下面会提示connect successful
3.3 pom.xml添加docker插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- 生成的docker镜像名称 -->
<imageName>${project.artifactId}</imageName>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- 复制jar包到指定目录 -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<configuration>
<tasks>
<copy todir="src/main/docker" file="target/${project.artifactId}.${project.packaging}"></copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
此处插件可能下载失败,可在maven的settings.xml中添加如下配置:
<pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
<pluginGroup>com.spotify</pluginGroup>
</pluginGroups>
3.4 添加dockerfile
在项目根目录(pom同级)下创建Dockerfile文件,文件内容如下
# 指定基础镜像 这里springboot项目运行只需要java jdk环境即可
FROM java:8
# 维护者信息
MAINTAINER 小尘哥
# 将本地的可执行文件拷贝到Docker容器中的根目录下
# 重命名
ADD target/bee.jar app.jar
# 对外暴漏的端口号
#EXPOSE 8080
# 方式二
ENTRYPOINT ["java", "-jar", "app.jar"]
四、idea启动配置
选择 run configuration,添加docker运行
微信截图_20210208172329.png
五、启动
像普通的运行一样点一下即可
image.png
启动大概过程:清理--编译--打包--上传--构建docker镜像--启动
可以在控制台看到启动日志
微信截图_20210208162731.png
网友评论