准备工作
阅读此文章前请务必具备简单的SpringCloud项目搭建
参考地址:www.fangzhipeng.com/spring-clou…
改造工程、构建镜像
改造eurekaserver工程
在pom文件加上插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 添加docker Plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- Plugin结束 -->
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Dalston.SR3</spring-cloud.version>
<docker.image.prefix>Jovi</docker.image.prefix>
<!-- 此处衔接properties -->
</properties>
imageName指定镜像名称,最好全用小写,大写可能会报错
dockerDirectory指定 Dockerfile 的位置,本例在src/main/docker,名称使用Dockerfile,不需要驼峰命名
修改application.yml
server:
port: 8761
eureka:
instance:
hostname: xxxx
prefer-ip-address: true
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
spring:
application:
name: eurka-server
编写Dockerfile文件: 在src/main/docker下新建Dockerfile,名称使用Dockerfile,不需要驼峰命名
FROM kdvolder/jdk8
VOLUME /tmp
ADD server-0.0.1-SNAPSHOT.jar server.jar
RUN bash -c 'touch /server.jar'
ENTRYPOINT ["java","-jar","/server.jar"]
EXPOSE 8761
FROM处填写可参考:blog.csdn.net/qq_18881987…
同理构建service-hi镜像
运行docker:
docker run --name server -d -p 8761:8761 jovi/server
docker run --name service-hi --link server -d -p 8762:8762 jovi/service-hi
若此处8762项目启动有提示SERVER.PROT报错可进行如下操作
docker rm service-hi -f
docker run --name service-hi --link server -d -e SERVER_PORT='8762' -p 8762:8762 jovi/service-hi
访问IP:8761
{IP}就是部署镜像的IP地址
附
Spring Could Windows打包构建docker镜像到linux