找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示
查看端口是否开启,如下图所示:
配置好后页面下方会出现Docker工具栏(如IDEA没有点击view-Tool Windows可调出来)
命令解释:
过程:先pull基础镜像,然后再打包镜像,并将镜像部署到远程docker运行
可以访问到接口
如果是下图,HoastIP不填,其映射结果为 0.0.0.0:8081->8081/tcp ,此时宿主机的8081端口开启,需要这样访问 http://192.168.197.90:8081/api/member/get/113
如果是下图,HoastIP填127.0.0.1,其映射结果为 127.0.0.1:8081->8081/tcp ,此时宿主机的8081端口未对外开放,访问 http://192.168.197.90/api/member/get/113 ,会被nginx反向代理到 http://127.0.0.1:8081/api/member/get/113 ,即可访问接口API
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [com/alibaba/druid/spring/boot/autoconfigure/DruidDataSourceAutoConfigure.class]: Invocation of init method failednested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Caused by: java.net.NoRouteToHostException: Host is unreachable (Host unreachable)
解决:打开服务器3306端口
昨天整一个idea远程部署,搞得头破血流的,整理一下,免得下次受苦。
在tomcat安装目录/bin/catalina.sh 脚本中添加一下命令,注意双引号之间是传递给JVM的参数,一个-D就是一个KV设置,保险起见每行后面留个空格,因为不知道换行符会不会生效。
用以下命令运行tomcat,不要用startup脚本
菜单栏Tools->Deployment->Configure->左上角+按钮:
输入部署的别名,比如Test,点击OK
按照上图的说明填写对应的资料。
如果是ubuntu系统,SFTP协议是默认启用的,账号密码和SSH登录的一样是主机用户,填完点击Test SFTP connection测试一下。这里踩了一坑,还自己搭FTP服务器,慢的要死。
菜单栏Run->Edit Configurations->左上角+按钮->Tomcat Server->remote:
按照图中的说明填写对应的资料,Tomcat Server Settings中的设置,就使用前面的deploy设置即可。
这里的Application Server设置也踩了一坑,因为是部署到远端的tomcat,我以为是要填写或者映射到服务器tomcat的路径,差点就搭一个smb服务出来。实际上这里是要本机的tomcat环境,用来解决项目编译依赖的,选择你本机安装的tomcat目录即可。
tomcat运行起来之后,默认是在8080端口,但是访问云主机,是无法打开测试页面的,这是因为云主机的防火墙拦截了,要手动打开你需要的端口。
除了8080以外,还有jdwp端口,rmi等你需要的端口都要打开,不用再关掉。出连接错误了,就看看是不是防火墙设置问题。
我买的是阿里云主机,其他的大概也一样。云主机有一个随机的id和一个固定的内部ip,它是通过/etc/hosts来配置的。在云主机上部署tomcat不知道为啥要去解析id对应的主机,如果解析失败就无法启动。如果报这个错误,用以下命令恢复主机映射即可。
ip地址是你云主机的内部地址,iZXXXZ是报错的主机id。就是这玩意折腾了我半宿,最后找阿里云客服给的解决方案。
配置完后使用run直接部署服务或者debug,在本地的虚拟机上是可以的,但是在云主机上,就回报java rmi 连接超时,查看防火墙的端口1099是开放的,换Idea的rmi端口也不行。
这个没找到解决办法,只能在部署、调试的时候把tcp端口都打开,完事再关掉了。如果是正式上线,就想办法手动拷贝吧。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)