Maven+Docker,发布到Registry

1、配置Pom.xml

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <docker.repostory>registry.cn-hangzhou.aliyuncs.com</docker.repostory>
  <docker.registry.name>kingsy</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>kingsylin@vip.qq.com</username>
      <password>密码</password>
      <configuration>
            <email>kingsylin@vip.qq.com</email>
      </configuration>
    </server>
</settings>

四、执行maven命令

clean install

  

转载于:https://www.cnblogs.com/kingsy/p/6411371.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值