引言
本人使用资源:
-
云服务器主机:腾讯云宝塔linux
-
操作系统:OpenCloudOS 8.6
本文分别讲解了:
- 1、idea如何集成并使用docker
- 2、springboot项目如何引入Docker管理
- 3、如何将一个springboot项目使用Docker打包为一个镜像
不仅讲解了方法,还列出了在整个过程中会遇到的一些问题和注意事项和注意的原因!!看下去,相信你会有所收获!!
此外:
- Docker+nginx部署Vue项目教程
1、idea集成docker
1、安装Docker插件
2、修改云服务器配置,使服务器端允许Docker远程连接
-
1、使用以下命令编辑docker.service文件
vim /usr/lib/systemd/system/docker.service
-
2、在该配置文件中添加以下内容
ExecStart= ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
-
3、去云服务器控制台放行2375端口
3、在idea中配置Docker连接信息
如下图配置即可。
点击apply即可使用。
4、idea中使用Docker
点击最下方控制台的service就可以看到啦!用起来就很方便!
2、在springBoot项目中如何引入Docker
1、pom.xml中添加Docker插件坐标
这是为了在本项目中引入docker来管理,毕竟最后要使用docker把项目打包成一个镜像。
注意三个事情:
-
1、版本务必写成0.4.13
其他版本会报错,原因未知,如下图:
-
2、注意修改成你的服务器IP地址
-
3、Dockerfile的位置别乱写
位置写在哪儿,就把Dockerfile创建在哪里。
一般就在:
<dockerDirectory>src/main/docker</dockerDirectory>
因为最后Docker是要根据这个Dockerfile来构建你的项目镜像的,它找的时候就是根据你写在坐标里的目录来找的,所以不要让它找不到呀!
<!-- docker配置-->
<!-- docker插件-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<dependencies>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
<configuration>
<!-- 远程Docker的地址 -->
<dockerHost>http://你的服务器ip地址:2375</dockerHost>
<!-- 镜像名称、前缀、项目名 -->
<imageName>sxl/${project.artifactId}</imageName>
<!-- Dockerfile的位置 -->
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<!-- 表示的target文件夹 -->
<directory>${project.build.directory}</directory>
<!-- 表示打出来的JAR包-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
2、刷新maven,查看docker插件
这个时候就能用啦!!
3、打开控制台,查看服务器上的Docker
打开一看,豁~ 镜像、容器一览无余,真好用啊!!!
之前还累死累活地在命令行里一个一个操作,累死啦!!
3、使用Docker打包SpringBoot项目
前提:像上一步项目中引入Docker坐标。
目的:就是将SpringBoot项目打包为一个Docker镜像,以便后续将镜像扔在服务器上,构建容器,最后将项目跑起来(也就是把容器跑起来)。
核心操作:
-
1、创建Dockerfile文件(在正确的位置)
Dockerfile文件的位置一定要和pom.xml中docker插件的配置一致。否则找不到!
-
2、编写Dockerfile文件
在Dockerfile里边你就需要写一下打包镜像的一些配置了,最主要的就是:JDK版本呀、暴露端口呀等等,如下:
FROM openjdk:8-jre # java版本,最好使用openjdk,而不是类似于Java:1.8 这种。 # 原因我也不知。 COPY *.jar /app.jar # 执行创建app.jar EXPOSE 8899 # 向外暴露的接口,最好与项目yml文件中的端口一致 ENTRYPOINT ["java","-jar","app.jar"] # 执行启动命令java -jar
注意点:
-
Java版本: 使用openjdk!!!
使用 java:8 等时会报错,原因未知,好像与服务器的规格有关,我是使用腾讯云宝塔linux,操作系统是:OpenCloudOS 8.6。
报错信息:
manifest for java:8 not found : manifest unkown: manifest unknown
-
-
3、将项目打包为JAR包
使用Maven的package指令:
-
4、点击Build构建镜像
再等一会儿,就 biubiu~~ 地构建好了。
-
5、查看生成的镜像
就去控制台的service下看。
我此时生成的镜像如下图所示:
4、让我的项目使用Docker容器跑起来吧!
书接上文,此时镜像构建完成,那么怎么让它跑起来呢?
命令行的方式就先不提,接着我们看一下在idea里边怎么让它正确跑起来吧!!
总体思路
创建容器 — 启动容器 — 访问项目
(容器跑起来的同时,项目也就跑起来啦!!)
1、创建容器 并 启动容器
就是使用我们打包好的镜像创建一个容器先:
-
1、选中镜像,右击创建:
-
2、配置运行参数
我们点击创建后会进入下边这个页面:
在这里,我的建议是点击Modify options
再点击Run options
来配置一下运行参数,并且修改一下容器名。
示例:
-
此时我的容器名:test01
-
运行参数:
-d -p 8888:8888 // -d : 在后台运行该容器 // -p : 配置端口映射,前一个端口是你云服务器的端口,后一个端口是你容器内部端口。 // 两者可相同,亦可不同。 // 重点是记得开通服务器端口的防火墙。
最后点击Run就可以运行啦!!!
2、访问项目
此时访问项目的网址为:
http://你的ip地址:端口号
# 注意:此时的端口号是这个容器运行的服务器的端口号。
当然如果是web项目,记得加上自己的路径再访问。
注意点
1、修改项目中Mysql、Redis、RabbitMQ等的配置
当然如果项目中用到了这些技术栈,那就需要将yml文件中的配置改改。就是改成你的云服务器的IP地址、用户名、密码等喽。
文章来源:https://www.toymoban.com/news/detail-742532.html
当然,Redis、Mysql这些都能使用docker运行在服务器上,很方便,这里就不多展开了。文章来源地址https://www.toymoban.com/news/detail-742532.html
到了这里,关于idea集成Docker + Docker部署SpringBoot项目到云服务器 保姆级教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!