首页
归档
留言
广告合作
友链
美女主播
Search
1
博瑞GE车机升级/降级
5,146 阅读
2
Mac打印机设置黑白打印
4,517 阅读
3
修改elementUI中el-table树形结构图标
4,516 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,351 阅读
5
intelliJ Idea 2022.2.X破解
4,060 阅读
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Spring Cloud
Mac
mybatis
WordPress
Nacos
Spring Cloud Alibaba
Mybatis-Plus
jQuery
Java Script
asp.net
微信小程序
Sentinel
UniApp
MySQL
asp.net core
IntelliJ IDEA
Jpa
树莓派
Laughing
累计撰写
570
篇文章
累计收到
1,424
条评论
首页
栏目
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
广告合作
友链
美女主播
搜索到
4
篇与
的结果
2023-04-18
CentOS8安装Docker
一、先卸载原来的Dockersudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine二、安装Docker仓库2.1、安装所需软件包sudo yum install -y yum-utils device-mapper-persistent-data lvm22.2、设置Docker仓库sudo yum-config-manager --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.3、最新版本(latest)的Docker-CEyum install --allowerasing docker-ce docker-ce-cli containerd.io注意加--allowerasing,不然可能会报以下错误2.4、配置开机启动# 启动 docker $ sudo systemctl start docker # 设置 docker 开机自启 $ sudo systemctl enable docker
2023年04月18日
816 阅读
0 评论
1 点赞
2021-07-20
docker部署ActiveMQ并整合到Spring Boot
ActiveMQ是由Apache基金会采用Java语言开发的一个开源的消息中间件,完美的遵循JMS规范。ActiveMQ易于实现高级场景,而且只需要付出低消耗。被誉为消息中间件的“瑞士军刀”。常用来处理高并发请求的流量削峰、事务处理。本文,我们通过docker部署ActiveMQ,然后结合ActiveMQ的queue及topic模式,分别介绍在spring boot中的应用。通过docker安装ActiveMQ搜索可用的ActiveMQdocker search activemq我这里下载评星最高的webcenter/activemq下载docker镜像docker pull webcenter/activemq运行dockerdocker run -d --name activemq -p 61616:61616 -p 8161:8161 webcenter/activemq检查是否运行成功打开http://139.198.172.114:8161/,出现以下页面可以点击Manage ActiveMQ broker,默认用户名、密码都是adminSpring Boot整合ActiveMQActiveMQ在实际企业开发中主要有两种模式:点对点模式(Queue)和发布订阅模式(Topic)Queue模式Queue模式即队列(先进先出),消息提供者生产消息发布到Queue中,然后消费者从Queue中取出,并消费消息。这里需要注意的是,消息被消费者消费之后,Queue不再存储,所以消息只能被消费一次。Queue支持存在多个消息消费者,但是对一个消息而言,只会有一个消费者可以消费。创建Spring Boot项目并添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>定义常量Constants.javapublic class Constants { public final static String QUEUEMESSAGE = "queue"; }添加配置类ActiveMQConfig.java@Configuration public class ActiveMQConfig { @Bean public Queue queue(){ return new ActiveMQQueue(Constants.QUEUEMESSAGE); } }创建消息提供者@RestController public class ProducerController { @Resource private JmsMessagingTemplate jmsMessagingTemplate; @Resource private Queue queue; @RequestMapping("/sendQueueMessage/{msg}") public String sendQueueMessage(@PathVariable("msg") String msg) { this.jmsMessagingTemplate.convertAndSend(queue, msg); return msg; } }配置ActiveMQ修改项目配置文件,配置ActiveMQspring.activemq.broker-url=tcp://139.198.172.114:61616 #接收所有消息 spring.activemq.packages.trust-all=true创建消息消费者Consumer.java@Component @Slf4j public class Consumer { @JmsListener(destination = Constants.QUEUEMESSAGE) public void receiveQueueMessage1(String message) { if (null != message) { log.info("收到queue报文1:" + message); } } @JmsListener(destination = Constants.QUEUEMESSAGE) public void receiveQueueMessage2(String message) { if (null != message) { log.info("收到queue报文2:" + message); } } }测试我们访问http://localhost:8083/sendQueueMessage/123,可以查看控制台输出信息可以看到,虽然我们提供了两个消费者,但是实际上只有一个消费者消费成功。Topic模式消息提供者将消息发布到Topic中,同时有多个消费者(订阅者)消费该消息,与Queue模式不同,发布到Topic消息会被所有的订阅者消费。Topic模式与Queue模式类似,我们这里基于Queue模式的代码进行修改。修改配置类ActiveMQConfig.java增加Topic的Bean,修改后代码如下@Configuration public class ActiveMQConfig { @Bean public Queue queue(){ return new ActiveMQQueue(Constants.QUEUEMESSAGE); } @Bean public Topic topic(){ return new ActiveMQTopic(Constants.TOPICMESSAGE); } }修改消息消费者@RestController public class ProducerController { @Resource private JmsMessagingTemplate jmsMessagingTemplate; @Resource private Queue queue; @Resource private Topic topic; @RequestMapping("/sendQueueMessage/{msg}") public String sendQueueMessage(@PathVariable("msg") String msg) { this.jmsMessagingTemplate.convertAndSend(queue, msg); return msg; } @RequestMapping("/sendTopicMessage/{msg}") public String sendTopicMessage(@PathVariable("msg") String msg) { this.jmsMessagingTemplate.convertAndSend(topic, msg); return msg; } }修改消费者@Component @Slf4j public class Consumer { @JmsListener(destination = Constants.QUEUEMESSAGE) public void receiveQueueMessage1(String message) { if (null != message) { log.info("收到queue报文1:" + message); } } @JmsListener(destination = Constants.QUEUEMESSAGE) public void receiveQueueMessage2(String message) { if (null != message) { log.info("收到queue报文2:" + message); } } @JmsListener(destination = Constants.TOPICMESSAGE) public void receiveTopicMessage1(String message) { if (null != message) { log.info("收到topic报文1:" + message); } } @JmsListener(destination = Constants.TOPICMESSAGE) public void receiveTopicMessage2(String message) { if (null != message) { log.info("收到topic报文2:" + message); } } }修改项目配置文件通过spring.jms.pub-sub-domain=true配置启用Topic。server.port=8083 spring.activemq.broker-url=tcp://139.198.172.114:61616 #接收所有消息 spring.activemq.packages.trust-all=true #配置使用topic spring.jms.pub-sub-domain=true测试访问http://localhost:8083/sendTopicMessage/123,查看控制台。可以看到两个订阅者都输出了消息。ActiveMQ监控我们通过http://139.198.172.114:8161/admin/topics.jsp,也可以查看服务器的信息
2021年07月20日
836 阅读
0 评论
0 点赞
2021-07-20
使用docker部署dubbo/dubbox并实现服务提供者、消费者
实现目标基于centos 7,通过docker打包部署dubbox(2.8.4),并实现简单的服务提供者与消费者。前置条件服务器安装JDK1.8并正确配置环境变量开发环境安装JDK1.8并正确配置环境变量开发环境安装maven并正确配置环境变量(建议使用阿里云仓库)安装zookeeperZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。下载压缩包下载压缩包curl -O https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz解压压缩包tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz修改zookeeper配置文件进入zookeeper配置文件所在目录cd /home/apache-zookeeper-3.7.0-bin/conf修改配置文件cp zoo_sample.cfg zoo.cfg运行zookeepercd /home/apache-zookeeper-3.7.0-bin/bin ./zkServer.sh start检查zookeeper运行状态cd /home/apache-zookeeper-3.7.0-bin/bin ./zkServer.sh statusdubbox打包Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。dubbox没有提供打包好的jar包或者war包,我们需要自己在github下载源码并编译。下载dubbox源码dubbox代码下载地址:https://github.com/dangdangdotcom/dubbox编译代码进入dubbox代码文件见,执行打包命令mvn install -D maven.test.skip=true打包完成后,在dubbo-admin\target中能看到一个dubbo-admin-2.8.4.war修改dubbox配置文件我们用压缩软件打开dubbo-admin-2.8.4.war,打开WEB-INF\dubbo.properties,修改zookeeper地址及对应用户密码,如下:dubbo.registry.address=zookeeper://IP地址:2181 dubbo.admin.root.password=root dubbo.admin.guest.password=guest[tag type="default"]注意修改成自己zookeeper对应的ip地址[/tag]war包修改完成后备用。安装docker我们通过docker部署dubbox。更新yumyum -y update安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2安装dockeryum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce-18.06.0.ce-3.el7启动docker并配置开机启动systemctl start docker systemctl enable docker配置docker为国内源vi /etc/docker/daemon.json输入以下内容{ "registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"] }通过docker部署dubbox我们这里自己打包一个docker,并部署dubbox创建文件夹创建一个文件夹/home/makedocker,用于存储Dockerfile以及war包。mkdir /home/makedocker cd /home/makedocker将war包上传到/home/makedocker制作Dockerfilevi Dockerfile并输入以下内容FROM registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27 MAINTAINER Laughing COPY dubbo.war /usr/tomcat/webapps/ EXPOSE 8080/tcp打包dockerdocker build -t tomcat-dubbo .启动dockerdocker run -d -p 8888:8080 --name tomcat-dubbo tomcat-dubbo查看docker运行状态docker ps显示以下内容,代表docker运行成功查看dubbox运行状态打开http://139.198.172.114:8888/dubbo,系统要求输入密码,密码为dubbo.properties中配置的密码,输入完成后,正常打开界面如下实现dubbox服务我们创建一个用户服务,作为服务提供者,判断用户是否登录。一个商品服务,作为服务消费者,调用用户是否登录的接口。实现通用服务接口创建一个maven项目,提供基本的接口定义。pom.xml内容如下<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>net.xiangcaowuyu</groupId> <artifactId>dubbo-common</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> </project>创建接口package net.xiangcaowuyu.dubbo.common.service; /** * 博客:https://www.xiangcaowuyu.net * Description: * * @Author: 香草物语 * DateTime: 2021-07-19 20:20 */ public interface RpcUserService { boolean checkUserLogin(String userName); }将代码部署到本地maven仓库由于我们没有远程maven仓库,所以我们将jar包install到本地仓库。在代码根目录,执行以下命令,打包到本地仓库。mvn install -D maven.test.skip=true实现服务提供者创建服务提供者。pom.xml如下<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>net.xiangcaowuyu</groupId> <artifactId>dubbo-provider</artifactId> <version>0.0.1-SNAPSHOT</version> <name>dubbo-provider</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> </dependency> <dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>net.xiangcaowuyu</groupId> <artifactId>dubbo-common</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>实现接口package net.xiangcaowuyu.dubboprovider.service; import net.xiangcaowuyu.dubbo.common.service.RpcUserService; import org.springframework.stereotype.Service; /** * 博客:https://www.xiangcaowuyu.net * Description: * * @Author: 香草物语 * DateTime: 2021-07-19 19:56 */ @Service @com.alibaba.dubbo.config.annotation.Service(interfaceClass = RpcUserService.class) public class RpcUserServiceImpl implements RpcUserService{ @Override public boolean checkUserLogin(String userName){ return "admin".equals(userName); } } 修改配置文件配置dubboserver.port=8081 #dubbo提供者的别名,只是个标识 spring.dubbo.application.name=dubbo-provider #zookeeper地址 spring.dubbo.registry.address=zookeeper://139.198.172.114:2181 #dubbo协议 spring.dubbo.protocol.name=dubbo #dubbo端口号 spring.dubbo.protocol.port=20880 #这是你要发布到dubbo的接口所在包位置 spring.dubbo.scan=net.xiangcaowuyu.dubboprovider.service测试运行项目,然后我们打开dubbo服务端,查看是否注册成功。实现服务消费者创建服务消费者。pom.xml如下<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>net.xiangcaowuyu</groupId> <artifactId>dubbo-provider</artifactId> <version>0.0.1-SNAPSHOT</version> <name>dubbo-provider</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> </dependency> <dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>net.xiangcaowuyu</groupId> <artifactId>dubbo-common</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> 创建商品服务package net.xiangcaowuyu.dubboprovider.service; /** * 博客:https://www.xiangcaowuyu.net * Description: * * @Author: 香草物语 * DateTime: 2021-07-19 20:36 */ public interface GoodService { boolean checkUserLogin(String userName); }创建商品服务类,调用用户登录判断接口package net.xiangcaowuyu.dubboprovider.service.impl; import com.alibaba.dubbo.config.annotation.Reference; import net.xiangcaowuyu.dubbo.common.service.RpcUserService; import net.xiangcaowuyu.dubboprovider.service.GoodService; import org.springframework.stereotype.Service; /** * 博客:https://www.xiangcaowuyu.net * Description: * * @Author: 香草物语 * DateTime: 2021-07-19 19:56 */ @Service public class GoodServiceImpl implements GoodService { @Reference private RpcUserService rpcUserService; @Override public boolean checkUserLogin(String userName) { return rpcUserService.checkUserLogin(userName); } } 测试消费者服务是否正常注册测试创建商品销售接口package net.xiangcaowuyu.dubboprovider.controller; import net.xiangcaowuyu.dubboprovider.service.GoodService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * 博客:https://www.xiangcaowuyu.net * Description: * * @Author: 香草物语 * DateTime: 2021-07-19 20:40 */ @RestController public class GoodController { @Resource private GoodService goodService; @GetMapping("sell/good") public boolean sellGood(){ return goodService.checkUserLogin("admin"); } } 测试接口是否正常调用
2021年07月20日
934 阅读
0 评论
1 点赞
2020-09-28
利用jib-maven-plugin一键部署docker镜像
前言jib-maven-plugin是谷歌出品的为您的Java应用程序构建Docker和OCI镜像的Maven插件。申请Docker容器这里已部署到Docker为例介绍,关于Docker容器的申请,可以 点击maven中使用通过在pom.xml文件加入插件引入spring boot工程<plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>1.7.0</version> <configuration> <!--from节点用来设置镜像的基础镜像,相当于Docerkfile中的FROM关键字--> <from> <!--从openjdk:alpine的基础上建造--> <image>openjdk:alpine</image> </from> <to> <!--镜像名称和tag--> <image>docker.io/iamlisen/dockerjib</image> <tags> <tag>v1</tag> </tags> <auth> <username>用户名</username> <password>密码</password> </auth> </to> <!--容器相关的属性--> <container> <!--jvm内存参数--> <jvmFlags> <jvmFlag>-Xms4g</jvmFlag> <jvmFlag>-Xmx4g</jvmFlag> </jvmFlags> <!--要暴露的端口--> <ports> <port>8080</port> </ports> </container> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> </plugin>参数解释从docker-hub拉取openjdk:alpine镜像作为基础镜像构建标识为your_image的镜像,tag列表为v1容器启动时将通过java -Xms4g -Xmx4g并且暴露出端口8080docker构建绑定到package生命周期构建docker镜像通过以下命令构建docker镜像mvn compile jib:build配置通过将镜像设置为“推送”来配置插件:使用谷歌容器确保你有docker-credential-gcr命令行工具。Jib自动使用docker-credential-gcr来获取凭证。参阅其他认证的验证方法。例如,为了构建镜像gcr.io/my-gcp-project/my-app,配置将是:<configuration> <to> <image>gcr.io/my-gcp-project/my-app</image> </to> </configuration>使用亚马逊容器确保你有docker-credential-ecr-login命令行工具。Jib自动使用docker-credential-ecr-login来获取凭证。参阅其他认证的验证方法。例如,为了构建镜像aws_account_id.dkr.ecr.region.amazonaws.com/my-app,配置将是:<configuration> <to> <image>aws_account_id.dkr.ecr.region.amazonaws.com/my-app</image> </to> </configuration>使用Docker容器确保你有一个 docker-credential-helper设置。例如,在macOS,凭证助手将是docker-credential-osxkeychain。参阅其他认证的验证方法。例如,为了构建镜像my-docker-id/my-app,配置将是:<configuration> <to> <image>registry.hub.docker.com/my-docker-id/my-app</image> </to> </configuration>扩展扩展选项提供额外的配置选项为定制镜像生成。属性类型默认值描述totoRequired配置目标镜像以构建应用程序。fromfrom查看from配置基础镜像以构建应用程序的顶部。containercontainer查看container配置从镜像中运行的容器。allowInsecureRegistriesbooleanfalse如果设置为true,Jib忽略HTTPS证书错误,并可能退回HTTP作为最后的手段。强烈建议将这个参数设置为false,因为HTTP通信是未加密的,并且对于网络上的其他人来说是可见的,并且不安全的HTTPS并不比普通的HTTP好。如果使用自签名证书访问注册表,则将证书添加到Java运行时的可信密钥可能是启用此选项的另一种选择。skipbooleanfalse如果设置为true,则跳过Jib执行(对于多模块项目是有用的)。这也可以通过-Djib.skip跳过命令行选项来指定。useOnlyProjectCachebooleanfalse如果设置为true,Jib不会在不同的Maven项目之间共享缓存。from是具有以下属性的对象:属性类型默认值描述imagestringgcr.io/distroless/java基础的镜像参考。authauthNone直接指定凭证。credHelperstringNone证书助手的后缀,它可以对基础镜像进行身份验证(遵循docker-credential-)。to是具有以下属性的对象:属性类型默认值描述imagestringRequired目标镜像的参考。这也可以通过-Dimage命令行选项来指定。authauthNone直接指定凭证。credHelperstringNone证书助手的后缀,它可以对基础镜像进行身份验证(遵循docker-credential-)。tagslistNone额外的标签推向auth是一个具有以下属性的对象(请参阅使用特定凭据):属性类型描述usernamestring用户名passwordstring密码container是具有以下属性的对象:属性类型默认值描述appRootstring/app容器上放置应用程序内容的根目录。argslistNone默认的主方法参数来运行应用程序。entrypointlistNone启动容器的命令(类似于Docker的入口点指令)。如果设置,则忽略jvmFlags和mainClass。environmentmapNone键值对,用于设置容器上的环境变量(类似于Docker的Env指令)。formatstringDocker使用OCI构建OCI容器映像jvmFlagslistNone运行应用程序时要传递给JVM的附加标志。labelsmapNone用于应用镜像元数据的键值对(类似于Docker的标签指令)。mainClassstringInferred*主要类从应用程序启动。portslistNone容器在运行时暴露的端口(类似于Docker的公开指令)。useCurrentTimestampbooleanfalse默认情况下,Jib擦除所有时间戳以保证再现性。如果这个参数设置为true,Jib将把镜像的创建时间戳设置为构建时间,这将牺牲可再现性,以便能够容易地判断镜像何时创建。您还可以使用connection/read系统属性为注册表交互配置HTTP连接/读取超时,该属性通过命令行以毫秒为单位配置(缺省值是20000;您还可以将其设置为0用于无限超时):mvn compile jib:build -Djib.httpTimeout=3000
2020年09月28日
1,974 阅读
0 评论
2 点赞