springboot项目改造成springcloud微服务并docker部署

一、改造项目

1.1 修改pom.xml

节点下添加
---------------------------------------------------------
Greenwich.SR1
oa  #这里oa需要改成自己项目的名称
----------------------------------------------------------
 节点下添加
----------------------------------------------------------
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        
        
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-ribbon
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-hystrix
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-hystrix-dashboard
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
        
        
        
        
        
        
        
        
        
        
        
            org.springframework.cloud
            spring-cloud-starter-zipkin
        
        
        
            org.springframework.cloud
            spring-cloud-config-client
        

----------------------------------------------------------------------------
plugin修改为:
--------------------------------------------------------------------------------------------------
 
            
                com.spotify
                docker-maven-plugin
                0.4.3
                
                
                    
                        build-image
                        
                        package
                        
                            build
                        
                    
                

                
                    ${docker.image.prefix}/${project.artifactId}
                    
                        latest
                    
                    ${project.basedir}/src/main/docker
					# 要推送的docker 服务器地址
                    http://10.4.237.123:2375
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                
            
        

--------------------------------------------------------------------------------------------------

1.2 编辑dockerfile

在项目src/main下创建docker文件夹并新建dockerfile文件:

dockerfile文本内容为:
----------------------------------------------------------------------------------------
# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器,handcuffs-reg-0.0.1-SNAPSHOT.jar这里是maven打包后的名字
ADD sys-id-java.jar sys-id-java.jar
RUN bash -c 'touch /sys-id-java.jar'
# 配置容器启动后执行的命令
ENTRYPOINT  ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/sys-id-java.jar"]
EXPOSE 8761
----------------------------------------------------------------------------------------

1.3 idea安装docker插件

打开Idea,从File->Settings->Plugins->Install JetBrains plugin进入插件安装界面,在搜索框中输入docker,可以看到Docker integration,点击右边的Install按钮进行安装。安装后重启Idea。
重启后配置docker,连接到远程docker服务。从File->Settings->Build,Execution,Deployment->Docker打开配置界面
在这里插入图片描述
点击+号添加一个docker配置,输入Name和Engine API URL,URL是docker服务地址,需要docker开启远程连接功能。

1.4 application添加注解

@EnableFeignClients //feign
@EnableDiscoveryClient
@EnableCircuitBreaker // 熔断器注解
@EnableHystrixDashboard // 断路器Dashboard监控仪表盘
修改完如图:在这里插入图片描述

二、服务器配置

2.1 docker配置

修改服务器中docker配置文件:
主要是在[Service]这个部分,加上下面两个参数

# vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

修改之后如图:
在这里插入图片描述
配置阿里镜像地址:

[root@localhost ~]# cd /etc/docker/
[root@localhost docker]# ll
total 20
drwxr-xr-x. 5 root root    72 Jul 26 07:17 certs.d
-rw-r--r--. 1 root root    57 Jul 26 08:01 daemon.json
-rw-------. 1 root root   244 Jul 26 07:17 key.json
-rw-r--r--. 1 root root 10837 May  1 07:52 seccomp.json
[root@localhost docker]# vi daemon.json 
-----------------------------------------------------------------------------------
{
        "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}
----------------------------------------------------------------------------------
[root@localhost docker]# systemctl daemon-reload 
[root@localhost docker]# systemctl restart docker

三、打包镜像部署

双击idea的package打包就会自动打包镜像并将镜像推动到配置的目标服务器中
docker插件配置地址和pom.xml地址要保持一致。
服务器 docker images查看镜像id
启动服务:docker run -d --net host --name oa-server -p 8092:8092 镜像id

docker ps 查看启动的镜像

你可能感兴趣的:(java,java,后端)