1.项目中对应的pom文件配置:
<directory>${project.basedir}/target</directory>
<docker.image.prefix>192.168.1.230:5000/platform</docker.image.prefix> <docker.plugin.version>1.0.0</docker.plugin.version>
<!--添加docker-maven-plugin插件--> <build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker.plugin.version}</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>${project.basedir}</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build>
2.项目中对应的yml文件配置:
--- spring: profiles: docker application: name: os-search server: port: ${{SERVER_PORT}:9301} eureka: client: serviceUrl: defaultZone: ${ADDITIONAL_EUREKA_SERVER_LIST}
3.linux服务器中(部署docker和Jenkins的服务器)对应的配置
项目中的yml文件运行的时候会从linux服务器中的yml文件中去获取相关配置信息,
比如- SPRING_PROFILES_ACTIVE=docker
- SERVER_PORT=9301
#商品匹配搜索接口
os-search:
container_name: os-search
image: 192.168.1.230:5000/platform/os-search
ports:
- "9301:9301"
environment:
- ADDITIONAL_EUREKA_SERVER_LIST=http://192.168.1.236:8201/eureka/
- SPRING_PROFILES_ACTIVE=docker
- SERVER_PORT=9301
# links:
# - cloud-eureka
4.项目中Dockerfile文件的配置
FROM java:8-jre-alpine VOLUME /tmp ADD target/*.jar app.jar RUN sh -c 'touch /app.jar' RUN echo $(date) > /image_built_at ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=${SPRING_PROFILES_ACTIVE}"]