idea集成ai插件 (idea集成redis)

专栏《每天10分钟玩转Spring Cloud基础》已经更新完成。本篇将介绍一下如何使用IDEA中的Docker插件将各个微服务部署到远程的服务器。

idea集成,idea集成ai插件

小编使用的是一台腾讯云的服务器,安装了centos7.6操作系统。因为是测试,所以把服务器上的所有进入端口都打开了。方便后续访问的时候每个端口都要配置一次安全组。

idea集成,idea集成ai插件

安装配置Docker环境

1、 docker安装:运行yum install docker命令,直接从docker.io中*载下**docker并安装。一键安装成功。

idea集成,idea集成ai插件

2、 编辑docker.service文件。

2.1、vi /usr/lib/systemd/system/docker.service

idea集成,idea集成ai插件

2.2、找到ExecStart属性,将属性值修改成:/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock。保存退出

idea集成,idea集成ai插件

3、 启动docker:运行service docker start命令启动docker。一些docker的基本命令见下图

idea集成,idea集成ai插件

配置IDEA的Docker环境

1、 安装docker插件:IDEA-->File-->Setting-->Plugins 搜索docker。如果没安装过直接安装并重启IDEA。下图是已经安装过的示例。

idea集成,idea集成ai插件

2、 配置IDEA连接到远程的Docker:File-->Setting-->Build,Execution,Deployment-->Docker

idea集成,idea集成ai插件

部署Eureka Server

1、 编写Dockerfile

这里我们先部署Eureka Server,看过我专栏的朋友都知道Eureka Server是一个名叫discovery-centre的module。在这个module的根目录下创建一个名为Dockerfile的文件。内容如下:

idea集成,idea集成ai插件

2、 编辑启动容器的配置

idea集成,idea集成ai插件

idea集成,idea集成ai插件

idea集成,idea集成ai插件

3、 将整个项目打包。maven运行clean package。

部署workflow-service服务

workflow-service是一个Eureka Client,这个服务将要注册到上面的Eureka Server上。其他配置与Eureka Server都相同,但有一个重要的注意事项:

1、 首先要进入Eureka Server的Docker容器,查看器host文件,看这个容器对外的IP是多少。

1.1、 进入Eureka Server容器内部,执行命令:docker exec –it discovery-centre /bin/sh

1.2、 查看host文件,执行命令:cat /etc/hosts

2、 将workflow-service的连接Eureka Server配置的defaultZone修改成对应的IP。

3、 重新给workflow-service打包,执行mvn clean package。

以上三步切记一定要做,否则workflow-service将无法注册到Eureka Server。

启动测试

1、 启动discovery-centre。直接在菜单栏选中Docker-discovery-centre并运行即可。这里的启动包含了两个步骤,一是重新编译镜像,二是针对编译好的镜像启动容器。

idea集成,idea集成ai插件

idea集成,idea集成ai插件

idea集成,idea集成ai插件

2、 启动workflow-service。

访问http://IP:8761/查看Eureka Server。

idea集成,idea集成ai插件

FAQ

1、 Failed to deploy 'discovery-centre Dockerfile: discovery-centre/Dockerfile': com.github.dockerjava.api.exception.NotFoundException: {"message":"driver failed programming external connectivity on endpoint discovery-centre (d675671a77cb6f0d51c122571c4b19b9571c64b386721e5ad69d6c5e9d9a6f6f): exec: \"docker-proxy\": executable file not found in $PATH"}

这里是需要执行一个docker-proxy的命令,可是没有找到。这个命令其实就是docker-proxy-current。我们进入/usr/libexec/docker目录,

执行 ln –s docker-proxy-current docker-proxy

2、Failed to deploy 'discovery-centre Dockerfile: discovery-centre/Dockerfile': com.github.dockerjava.api.exception.InternalServerErrorException: {"message":"shim error: docker-runc not installed on system"}

这里是需要执行一个docker-runc的命令,可是没有找到。这个命令其实就是docker-runc-current。我们进入/usr/libexec/docker目录,

执行 ln –s docker-runc-current docker-runc