Maven+Docker,发布到 Aliyun Registry

Java Nicholas 2020-05-11 493浏览
相关标签: Aliyun Registry Docker

image.png

1、配置Pom.xml

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <docker.repostory>registry.cn-hangzhou.aliyuncs.com</docker.repostory>
  <docker.registry.name>qgstu</docker.registry.name>
</properties>

<build>
    <finalName>app</finalName>
    <plugins>
        <!-- 生成Jar包 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>org.demo.docker_package.App</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        <!-- 打包Docker -->
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.4.13</version>
            <executions>
                <execution>
                    <id>build-image</id>
                    <phase>package</phase>
                    <goals>
                        <goal>build</goal>
                    </goals>
                </execution>
                <execution>
                    <id>tag-image</id>
                    <phase>package</phase>
                    <goals>
                        <goal>tag</goal>
                    </goals>
                     <configuration>
                         <image>${docker.registry.name}/${project.artifactId}:${project.version}</image>
                        <newName>${docker.repostory}/${docker.registry.name}/${project.artifactId}:${project.version}</newName>
                    </configuration>
                </execution>
                 <execution>
                    <id>push-image</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>push</goal>
                    </goals>
                    <configuration>
                        <imageName>${docker.repostory}/${docker.registry.name}/${project.artifactId}:${project.version}</imageName>
                    </configuration>
                </execution>   
            </executions>
            <configuration>
                <serverId>docker-aliyun</serverId>
                <registryUrl>registry.cn-hangzhou.aliyuncs.com</registryUrl>
                <pushImage>true</pushImage>
                <dockerDirectory>${project.basedir}</dockerDirectory>
                <imageName>${docker.repostory}/${docker.registry.name}/${project.artifactId}:${project.version}</imageName>
                <imageTags>
                    <imageTag>latest</imageTag>
                </imageTags>
                <resources>
                  <resource>
                    <targetPath>/</targetPath>
                    <directory>${project.build.directory}</directory>
                    <include>${project.build.finalName}.jar</include>
                  </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>

二、创建Dockerfile

FROM java:7
ADD target/app.jar /home
WORKDIR /home
ENTRYPOINT ["java","-jar","app.jar"]

三、修改~/.m2/settings.xml

<settings>
     <server>
      <id>docker-aliyun</id>
      <username>mihuu@foxmail.com</username>
      <password>密码</password>
      <configuration>
            <email>mihuu@foxmail.com</email>
      </configuration>
    </server>
</settings>

四、执行maven命令

clean install


相关标签: Aliyun Registry Docker
相关文章
1、配置Pom.xml <properties>   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>   <docker.repostory>registry.cn-hangzhou.aliyuncs.com</docker.repostory>   <docker.registry.name>qgstu</docker.reg继续阅读>>
2020-05-11 492浏览 5个赞
首先,明确两点: 1.http连接池不是万能的,过多的长连接会占用服务器资源,导致其他服务受阻 2.http连接池只适用于请求是经常访问同一主机(或同一个接口)的情况下 3.并发数不高的情况下资源利用率低下 那么,当你的业务符合上面3点,那么你可以考虑使用http连接池来提高服务器性能 使用http连接池的优点: 1.复用http连接,省去了tcp的3次握手和4次挥手的时间,极大降低请求响应的时间 2.自动管理tcp连接,不用人为地释放/创建连接 使用http连接池的大致流程 : 1.创建Poo继续阅读>>
2019-04-22 2042浏览 6个赞
1、JWT官网:https://jwt.io 用户认证流程: 2、JWT介绍     JSON Web TOKEN(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于在各方之间作为JSON对象安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。JWTS可以使用秘密(使用HMAC算法)或公钥/私钥对使用RSA或ECDSA来签名。     虽然JWTS可以加密,但也提供保密各方之间继续阅读>>
2019-03-18 1572浏览 5个赞
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作来创建的对象,每个线程创建一个,不是什么对象的拷贝或副本。通过ThreadLocal.set()将这个新创建继续阅读>>
2018-11-30 519浏览 0个赞
前言 《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队的集体经验总结,经历了多次大规模一线实战的检验及不断的完善,反馈给广大开发者。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致后续维护艰难;没有鉴权的漏洞代码易被黑客攻击等等。所以本手册以 Java 开发者为中心视角,划分为编程规约、异常日志、MySQL 数据库、工程结构、安全规继续阅读>>
2018-11-27 580浏览 0个赞
版权声明
本站的文章和资源来自互联网或者站长的原创。如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。