IDEA连接远程服务器Docker部署SpringBoot项⽬的详细教程开始前的准备⼯作
拥有⼀台云服务器,我的是腾讯云服务器(CentOS7)
Windows上有安装IDEA
正式开始⼯作
第⼀步:配置Docker,开启远程访问(注:仅供学习参考,实际⽣产环境万万不可,会产⽣很⼤的安全风险),默认端⼝是2375,也可以修改为其他端⼝1、修改/lib/systemd/system/docker.service⽂件
vim /lib/systemd/system/docker.service
在ExecStart后⾯追加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
修改完记得写保存退出命令 :wq
2、重新加载配置⽂件,重启docker,使得刚才的配置⽣效
#重新加载配置⽂件
systemctl daemon-reload
#重启docker服务
systemctl restart docker
3、使⽤curl命令检查是否开启
#curl下载docker的服务信息
curl 127.0.0.1:2375/info
如果有返回说明,就证明开启成功了,可以看到我的Docker版本,镜像加速器地址等其他信息,但是这时候远程可能依然访问不了
4、配置腾讯云安全组规则,⼊站规则中开放2375端⼝,使得可以远程访问(阿⾥云都是⼀样)
最后点完成就OK了
第⼆步:对项⽬进⾏配置,连接远程docker
1、安装Docker插件,去Plugins搜索Docker,然后直接安装就⾏了,如果,这是我已经安装过的,安装完成后重启IDEA,就有docker插件了
2、配置连接远程docker,打开Docker插件,新建连接,在Engine API URL处输⼊服务器IP地址:2375,
然后,不出意外,下⽅都会出现Connection successful,这样连接远程服务器的Docker就成功了
3、编辑项⽬l⽂件,在Spring Boot项⽬中添加docker-maven-plugin插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<!--将插件绑定在某个phase执⾏-->
<executions>
<execution>
<id>build-image</id>
<!--将插件绑定在package这个phase上。也就是说,⽤户只需执⾏mvn package ,就会⾃动执⾏mvn docker:build--> <phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!--指定⽣成的镜像名-->
<imageName>wbb/${project.artifactId}</imageName>
<!--指定标签-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!-- 指定 Dockerfile 路径 ${project.basedir}:项⽬根路径下-->
<dockerDirectory>${project.basedir}</dockerDirectory>
<!--指定远程 docker api地址-->
<dockerHost>134.175.236.221:2375</dockerHost>
<!-- 这⾥是复制 jar 包到 docker 容器指定⽬录配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<!--jar 包所在的路径此处配置的即对应 target ⽬录-->
<directory>${project.build.directory}</directory>
<!-- 需要包含的 jar包,这⾥对应的是 Dockerfile中添加的⽂件名 -->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<!-- 以下两⾏是为了docker push到DockerHub使⽤的。 -->
<!--<serverId>docker-hub</serverId>-->
<!--<registryUrl>index.docker.io/v1</registryUrl>-->
</configuration>
</plugin>
4、在项⽬根⽬录下创建Dockerfile⽂件
Dockerfile⽂件内容
这个Dockerfile⽂件的内容⼤概是:
第⼀⾏:当前要创建的镜像是基于java:8这个镜像的,也就是JDK8,也就是基本的Java运⾏开发环境肯定要有,这个也可以提前docker pull
第⼆⾏:在构建的时候把target⽬录下的jar包添加到镜像中,并改名为app.jar
第三⾏:镜像对外开放的端⼝是8888,这个在后⾯进⾏端⼝映射的时候还要⽤,⼀定要记住,当然,没记住,也可以使⽤docker history命令去看
第四⾏:启动镜像实例容器时会⾃动执⾏:java -jar /app.jar命令,也就是启动容器时,就启动了项⽬,⽽且不会被启动容器时添加的命令参数覆盖
另外其他没指定的参数,就是默认的,⽐如登录容器时默认的路径是根⽬录
5、打包项⽬,同时会⾃动构建镜像,点击右侧的Maven Projects,然后双击package
看到如果的信息就表⽰构建成功了,现在就可以去服务器查看构建的镜像了
第三步:启动镜像实例容器,远程访问项⽬,接下来的步骤可以在IDEA中直接进⾏,也可以在服务器上进⾏,为了更加熟悉docker命令,我就在服务器端演⽰了
1、查看所有镜像:docker images
如图所⽰,刚刚构建的镜像wbb/shop镜像已经存在了
2、启动容器:docker run -it -p 8889:8888 --name shop wbb/shop
启动时,这⾥的 -p 8889:8888 是端⼝映射,就是宿主机的8889端⼝映射到镜像的8888端⼝,访问宿主机的8889端⼝就相当于访问到镜像的8888端⼝,这个8888就是Dockerfile⽂件中写的开放的那个端⼝,当然,⼀般应该是指定-d后台运⾏,我指定前台交互运⾏,其实,就是为了看画的这个美⼥⽽已,这个⾝材,梦中⼥神啊
3、查看容器运⾏状态信息:docker ps
最新版idea安装详细教程可以看到,构建的镜像实例已经运⾏了7分钟多了,端⼝映射情况,第⼀个是容器的ID
在此之前,必须确保宿主机的端⼝8889是开放的,否则可以按照配置安全组规则放⾏8889端⼝,另外,/shop是我的项⽬的虚拟路径
OK,到此,使⽤IDEA连接远程Docker服务部署Spring Boot项⽬的⽅法就解释完了,不⾜之处,请多指教
总结
到此这篇关于IDEA连接远程服务器Docker部署Spring Boot项⽬的⽂章就介绍到这了,更多相关idea docker部署springboot项⽬内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论