700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > idea使用docker-mave插件打包镜像并部署到harbor私服仓库

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

时间:2018-10-07 22:54:38

相关推荐

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

接上篇文章 对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></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文件,和之前的一样

# 基础镜像使用JavaFROM java:8# 作者MAINTAINER janche# VOLUME 指定了临时文件目录为/tmp。# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmpVOLUME /tmp# 将jar包添加到容器中并更名为app.jar# 此处可以把具体的jar包名称写出来,我这里直接用*号代替了ADD target/*.jar app.jarENTRYPOINT ["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@</email></configuration></server>

4.默认你已经通过idea的docker插件连接好docker服务了哈,接下来就可以通过插件打包推送镜像了

docker:push实际上是包含docker:build,所以其实可以不用第三步的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。