赞
踩
打包镜像并发布到nexus上
启动8082端口
<servers>
<server>
<id>docker-local</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.2</version> <configuration> <!-- 必须是 registryUrl nexus 中的Repositories name 对应好--> <serverId>docker-local</serverId> <registryUrl>http://192.168.9.82:8082</registryUrl> <!--必须配置dockerHost标签(除非配置系统环境变量DOCKER_HOST)--> <dockerHost>http://192.168.9.158:2375</dockerHost> <!--指定基础镜像jdk1.8--> <baseImage>openjdk:8</baseImage> <imageName>192.168.9.82:8082/${project.artifactId}</imageName> <!--指定标签 这里指定的是镜像的版本,默认版本是latest--> <imageTags> <imageTag>${project.version}</imageTag> </imageTags> <!-- 指定 Dockerfile 路径--> <!--镜像制作人本人信息 --> <maintainer>admin@admin.com</maintainer> <!--切换到工作目录--> <workdir>/ROOT</workdir> <cmd>["java", "-version"]</cmd> <entryPoint>["java", "-jar", "-Xms512m", "-Xmx512m", "${project.build.finalName}.jar"]</entryPoint> <!-- jar包位置--> <resources> <resource> <targetPath>/ROOT</targetPath> <!-- target目录下--> <directory>${project.build.directory}</directory> <!--通过jar包名找到jar包--> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> <executions> <!-- package之前清除上一次构建的image --> <execution> <id>remove-image</id> <phase>package</phase> <goals> <goal>removeImage</goal> </goals> <configuration> <imageName> 192.168.9.82:8082/${project.artifactId} </imageName> <imageTags> <imageTag>${project.version}</imageTag> <imageTag>latest</imageTag> </imageTags> </configuration> </execution> <execution> <id>remove-tag-image</id> <phase>package</phase> <goals> <goal>removeImage</goal> </goals> <configuration> <imageName> 192.168.9.82:8082/${project.artifactId} </imageName> <imageTags> <imageTag>${project.version}</imageTag> <imageTag>latest</imageTag> </imageTags> </configuration> </execution> <!-- 将docker:build绑定到package这个phase --> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> <configuration> <!-- imageName中若不指定tag,则会打上latest --> <imageName>192.168.9.82:8082/${project.artifactId}:${project.version}</imageName> <!-- 可以使用<imageTags>标签打其他额外的tag --> </configuration> </execution> <!-- 将docker:tag绑定到package这个phase --> <execution> <id>tag-image</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <!-- docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG] --> <!-- images与IMAGE[:TAG]对应,必须在build阶段已经构建了 --> <image>192.168.9.82:8082/${project.artifactId}:${project.version}</image> <!-- newName与tag命令的第二个参数对应 --> <newName> 192.168.9.82:8082/${project.artifactId}:${project.version} </newName> </configuration> </execution> <execution> <id>tag-image-latest</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <!-- docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG] --> <!-- images与IMAGE[:TAG]对应,必须在build阶段已经构建了 --> <image>192.168.9.82:8082/${project.artifactId}:${project.version}</image> <!-- newName与tag命令的第二个参数对应 --> <newName> 192.168.9.82:8082/${project.artifactId}:latest </newName> </configuration> </execution> <!-- 将docker:push绑定到deploy这个phase --> <execution> <id>push-image</id> <phase>package</phase> <goals> <goal>push</goal> </goals> <configuration> <imageName> 192.168.9.82:8082/${project.artifactId}:${project.version} </imageName> </configuration> </execution> <execution> <id>push-image-latest</id> <phase>package</phase> <goals> <goal>push</goal> </goals> <configuration> <imageName> 192.168.9.82:8082/${project.artifactId}:latest </imageName> </configuration> </execution> </executions> </plugin>
Spring boot application-ad.properties
server.port=2040 debug=true logging.level.root=debug logging.level.com.hello.b2c.user.mapper=trace spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.clickhouse-db.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 spring.datasource.clickhouse-db.driver-class-name=com.mysql.jdbc.Driver spring.datasource.clickhouse-db.password=${MYSQL_PASSWORD} spring.datasource.clickhouse-db.username=${MYSQL_USER} spring.datasource.clickhouse-db.initialSize=10 spring.datasource.clickhouse-db.maxActive=10 spring.datasource.clickhouse-db.maxWait=6000 spring.datasource.clickhouse-db.validationQuery=select 1 spring.datasource.mysql-db.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 spring.datasource.mysql-db.driver-class-name=com.mysql.jdbc.Driver spring.datasource.mysql-db.password=${MYSQL_PASSWORD} spring.datasource.mysql-db.username=${MYSQL_USER} spring.datasource.mysql-db.initialSize=10 spring.datasource.mysql-db.maxActive=10 spring.datasource.mysql-db.maxWait=6000 spring.datasource.mysql-db.validationQuery=select 1 spring.redis.host=${REDIS_HOST} spring.redis.port=${REDIS_PORT} spring.redis.password=admin spring.redis.database=1 pacs.host=${PACS_HOST} pacs.hostout=${PACS_HOSTOUT} rocketmq.host=${ROCKETMQ_HOST}:${ROCKETMQ_PORT_TCP} rocketmq.fileGroup=fileTest rocketmq.fileTags=fileTest rocketmq.fileTopic=fileTest zookeeper.host=${ZOOKEEPER_HOST}:${ZOOKEEPER_PORT} rocketmq.name-server=${ROCKETMQ_HOST}:${ROCKETMQ_PORT_TCP} rocketmq.producer.sendMessageTimeout=300000
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。