IDEA连接远程服务器Docker部署Spring Boot项目的详细教程_docker

来源:脚本之家  责任编辑:小易  

通过选择:工具|部署|浏览远程主机(Tools|Deployment|Browse Remote Host)或者主菜单上的:查看|工具窗口|远程主机(View|Tool Windows|Remote Host)来打开远程主机工具窗口。从下拉列表中选择所需的部署服务器。工具窗口显示了服务器根目录下文件和文件夹的树视图。如果列表中没有可用的相关服务器,请单击按钮,并在"部署"对话框中打开"配置对所需服务器的访问www.zgxue.com防采集请勿采集本网。

开始前的准备工作

这里就用Windows系统的VPS服务器对如何利用Windows系统自带的3389远程连接软件,去连接和管理VPS服务器,进行简单的介绍和分享。先,我们需要找到本地电脑Windows系统自带的3389远程连接程序。开始—程序

拥有一台云服务器,我的是腾讯云服务器(CentOS7)

打开终端使用ssh命令链知接远程服务器。命令格式:ssh root@192.168.1.1(root对应你使用道的用户名,192…对应的服务器ip地址,一般服务器端口内22,命令默认22.如果需要更改端口在ssh后面-p

腾讯云服务器安装Docker,我的版本是Docker 19.03.9,关于安装和配置镜像加速器可以查阅我的另一篇博文:https://www.cnblogs.com/andrew3/p/12941903.html,其中有详细的讲解

一、windows系统远程连接步骤: 1、首先找到桌面远程连接,选择编辑 2、选择使用其他账户 3、输入服务商给你的IP和密码就可以啦 二、使用远程控制卡远程管理服务器 一般来说对服务器有较高要求的客户可能

Windows上有安装IDEA

楼主你的服务器极有可能设置了禁止ICMP通过,也就是禁PING了,要解决的话可以尝试先检查下防火墙设置和安全策略方面的问题。

正式开始工作

第一步:配置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 http://127.0.0.1:2375/info

如果有返回说明,就证明开启成功了,可以看到我的Docker版本,镜像加速器地址等其他信息,但是这时候远程可能依然访问不了

4、配置腾讯云安全组规则,入站规则中开放2375端口,使得可以远程访问(阿里云都是一样)

最后点完成就OK了

5、检查端口是否可以远程访问,在本地浏览器输入:http://服务器IP地址:2375/info

第二步:对项目进行配置,连接远程docker

1、安装Docker插件,去Plugins搜索Docker,然后直接安装就行了,如果,这是我已经安装过的,安装完成后重启IDEA,就有docker插件了

2、配置连接远程docker,打开Docker插件,新建连接,在Engine API URL处输入服务器IP地址:2375,然后,不出意外,下方都会出现Connection successful,这样连接远程服务器的Docker就成功了

3、编辑项目pom.xml文件,在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>http://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>https://index.docker.io/v1</registryUrl>--> </configuration> </plugin>

4、在项目根目录下创建Dockerfile文件

Dockerfile文件内容

Dockerfile保留字的解析可以查阅我的另一篇博文:https://www.cnblogs.com/andrew3/p/13033061.html,里面有常用保留字的详细解析,不过没有实例,正好可以这个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命令,我就在服务器端演示了

关于以下用到的docker命令可以查看我的其他两篇博文:https://www.cnblogs.com/andrew3/p/12943406.html https://www.cnblogs.com/andrew3/p/12944452.html,里面有详细的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

可以看到,构建的镜像实例已经运行了7分钟多了,端口映射情况,第一个是容器的ID

4、远程访问项目:http://服务器IP地址:8889/shop

在此之前,必须确保宿主机的端口8889是开放的,否则可以按照配置安全组规则放行8889端口,另外,/shop是我的项目的虚拟路径

OK,到此,使用IDEA连接远程Docker服务部署Spring Boot项目的方法就解释完了,不足之处,请多指教

附:检查端口是否开放远程访问,也可以使用在线端口扫描工具:http://www.jsons.cn/port/,输入服务器IP地址和相应的端口扫描就可以了,可以实现多个端口扫描,很方便

总结

到此这篇关于IDEA连接远程服务器Docker部署Spring Boot项目的文章就介绍到这了,更多相关idea docker部署springboot项目内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

首先,修改tomcat的startup.bat:call"%EXECUTABLE%"start%CMD_LINE_ARGS%改为:call"%EXECUTABLE%"jpda start%CMD_LINE_ARGS%然后启动tomcat。tomcat默认会在8000端口监听调试请求。在IntelliJ IDEA中,点击菜单:run->edit configurations.在弹框中,选择点击左上角的小“+”号->tomcat server->remote在右侧选择tomcat server的位置,然后这只server的host地址和调试端口。切换到Startup/Connection选项卡,选中debug,输入调试端口8000好了,现在用debug模式选中要调试的项目,启动。在log中就可以看到已经连上了8000端口。然后打个断点试一下。有木有很激动!内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 浅析springboot打包上传到docker并实现多实例部署(idea版)
  • 基于idea把springboot项目部署到docker
  • java通过idea远程一键部署springboot到docker详解
  • docker容器中crontab无法正常运行解决方案
  • docker swarm从部署到基本操作
  • docker 数据卷及数据容器详细介绍及示例
  • 解决docker image镜像无法删除问题的方法
  • docker compose 网络设置详解
  • docker拉取镜像的完整步骤
  • 详解如何修改 docker 默认网桥地址
  • docker 教程之仓库配置文件详解
  • docker下redis的主从配置教程详解
  • centos docker1.12 远程rest api访问的配置方法
  • 如何 idea 连接 远程 tomcat
  • idea web项目如何使用远程服务器的静态文件
  • 如何设置服务器可以远程桌面连接?
  • 绝地求生无法连接到远程服务器?应该怎么办?
  • 如何远程登录连接VPS服务器图文教程
  • 在linux系统上如何连接远程服务器
  • 服务器远程连接怎么操作?刚租用了国外的服务器,不知道怎么使用
  • 远程桌面能连接到服务器,但PING不通是怎么回事?
  • 服务器怎么连接远程
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云计算技术云其它首页服务器云和虚拟化docker浅析springboot打包上传到docker并实现多实例部署(idea版)基于idea把springboot项目部署到dockerjava通过idea远程一键部署springboot到docker详解docker容器中crontab无法正常运行解决方案docker swarm从部署到基本操作docker 数据卷及数据容器详细介绍及示例解决docker image镜像无法删除问题的方法docker compose 网络设置详解docker拉取镜像的完整步骤详解如何修改 docker 默认网桥地址docker 教程之仓库配置文件详解docker下redis的主从配置教程详解centos docker1.12 远程rest api访问的配置方法docker 给运行中的容器设置端口映docker 清理命令集锦docker获取镜像报错docker: erroubuntu14.04+docker的安装及使用docker.service启动失败:unit ndocker容器如何优雅的终止详解浅谈docker-compose网络设置之necentos7 安装docker 解决启动不了详解docker国内镜像拉取和镜像加docker如何固定ip设置的方法用docker搭建selenium grid分布式环境实践docker daemon远程连接设置详解zabbix监控docker容器状态【推荐】8个你可能不知道的docker知识docker容器运行asp.net core的实现步骤使用docker compose编排laravel应用的方法docker构建elk docker集群日志收集系统docker多容器连接(以tomcat+mysql为例)详解使用docker搭建hadoop分布式集群windows下安装docker的教程详解
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved