idea使用docker-mave插件打包镜像并部署到harbor私服仓库

4 篇文章 0 订阅
2 篇文章 0 订阅

接上篇文章 对idea的docker配置,默认你已经可以通过Dockerfile发布镜像了。
通过Dockerfile发布的镜像版本都是latest,有木有什么办法可以修改呢:
第一种:

通过命令修改:docker tag ImgId/OldTag newTag
eg: docker tag docker-demo docker-demo-2.0

第二种就是通过下面docker-maven插件的方式打包了

idea docker打包插件部署harbor私服

1.配置项目的pom.xml文件

<properties>
 	<!-- docker harbor的配置,下面也可以使用ip,默认端口看号是80 -->
    <docker.repository>hup.xxx.com</docker.repository>
    <!-- harbor上的项目名称 -->
    <docker.registry.name>test</docker.registry.name>
</properties>
<build>
	<!-- 构建的jar包名称 -->
 	<finalName>${project.artifactId}</finalName>
	<plugins>
		<!-- 一个plugin构建springboot可执行包 -->
	    <plugin>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-maven-plugin</artifactId>
	        <configuration>
	            <excludes>
	                <exclude>
	                    <groupId>org.projectlombok</groupId>
	                    <artifactId>lombok</artifactId>
	                </exclude>
	            </excludes>
	        </configuration>
	    </plugin>
	
	    <plugin>
	        <groupId>com.spotify</groupId>
	        <artifactId>docker-maven-plugin</artifactId>
	        <version>1.0.0</version>
	        <configuration>
	            <!-- maven settings.xml 文件配置的server-id,配置server就可以直接推送到harbor repository仓库了 -->
	            <serverId>docker-hub</serverId>
	            <registryUrl>http://${docker.repository}</registryUrl>
	            <!-- 这是docker的服务地址,必须配置dockerHost标签(除非配置系统环境变量DOCKER_HOST)-->
	            <dockerHost>http://192.168.0.21:2375</dockerHost>
	            <imageName>${docker.repository}/${docker.registry.name}/${project.artifactId}:${project.version}</imageName>
	            <!-- 指定 Dockerfile 路径,此路径根据自己的文件路径调试,他正确才会有打包镜像日志输出,否则会卡住-->
	            <dockerDirectory>./</dockerDirectory>
	            <image>${docker.repository}/${docker.registry.name}/${project.artifactId}:${project.version}</image>
	            <newName>${docker.repository}/${docker.registry.name}/${project.artifactId}:${project.version}</newName>
	            <!-- jar包位置-->
	            <resources>
	                <resource>
	                    <targetPath>target/</targetPath>
	                    <!--jar 包所在的路径  此处配置的 即对应 target 目录-->
	                    <directory>${project.build.directory}</directory>
	                    <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
	                    <include>${project.build.finalName}.jar</include>
	                </resource>
	            </resources>
	        </configuration>
	    </plugin>
	</plugins>
</build>

2.编写Dockerfile文件,和之前的一样

# 基础镜像使用Java
FROM java:8
# 作者
MAINTAINER janche
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
# 此处可以把具体的jar包名称写出来,我这里直接用*号代替了
ADD target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
# 指定容器需要映射到主机的端口
EXPOSE 9090

application.properties文件:里面就配置了一个端口,即Dockerfile中暴露的容器对外的端口

server.port=9090

3.在maven的settings.xml中国配置harbor私服的用户信息

<server>
	<!-- 这里要和pom.xml中的serverId标签内容保持一致 -->
	<id>docker-hub</id>
	<username>username</username>
	<password>xxxxx</password>
	<configuration>
	  <email>janche@gmail.com</email>
	</configuration>
</server>

4.默认你已经通过idea的docker插件连接好docker服务了哈,接下来就可以通过插件打包推送镜像了
在这里插入图片描述
docker:push实际上是包含docker:build,所以其实可以不用第三步的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值