springboot 利用 docker-maven插件生成docker镜像并推送到镜像仓库
2018-02-08 10:57
971 查看
springboot 利用 docker-maven插件生成docker镜像并推送到镜像仓库
一、环境配置java、maven 、docker 安装及环境变量配置
1. maven配置文件修改
<server> <id>docker-aliyun</id> <username>私仓账号</username> <password>私仓密码</password> <configuration> <email>邮箱</email> </configuration> </server>
2.docker 添加环境变量
配置DOCKER_HOST环境变量:tcp://localhost:2375 打开daemon 2375访问权限(windows docker >> settings >> General)
二、添加Dockerfile文件及修改maven编译配置
添加Dockerfile
FROM java:8 MAINTAINER ziyun "wlcloudy@163.com" # 环境变量 ENV WORK_PATH /home/project/eureka-server ENV APP_NAME @project.build.finalName@.@project.packaging@ ENV APP_VERSION @project.version@ EXPOSE 5555 #VOLUME VOLUME ["/home/project", "/tmp/data"] #COPY COPY $APP_NAME $WORK_PATH/ # WORKDIR WORKDIR $WORK_PATH # ENTRYPOINT ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom"] # CMD CMD ["-jar", "@project.build.finalName@.@project.packaging@"]
修改maven打包配置信息
<!-- 添加镜像仓库 --> <properties> <docker.repository>仓库地址</docker.repository> <docker.registry.name>仓库名(即阿里云仓库命名空间名称)</docker.registry.name> </properties> <build> <finalName>EurekaServer</finalName> <!-- Dockerfile文件路径配置 --> <resources> <resource> <directory>src/main/docker</directory> <filtering>true</filtering> <includes> <include>**/Dockerfile</include> </includes> <targetPath>../docker</targetPath> </resource> </resources> <plugins> <!-- 打包Docker --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <executions> <execution> <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.repository}/${docker.registry.name}/${project.artifactId}:${project.version}</image> <newName>${docker.repository}/${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.repository}/${docker.registry.name}/${project.artifactId}:${project.version}</imageName> </configuration> </execution> </executions> <configuration> <!-- 私有仓库配置,需要settings.xml文件配合serverId对应的服务地址 --> <serverId>docker-aliyun</serverId> <registryUrl>${docker.repository}</registryUrl> <pushImage>true</pushImage> <dockerDirectory>target/docker</dockerDirectory> <imageName> ${docker.repository}/${docker.registry.name}/${project.artifactId}:${project.version} </imageName> <imageTags> <!--docker的tag为项目版本号、latest--> <imageTag>latest</imageTag> </imageTags> <resources> <rescource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </rescource> </resources> </configuration> </plugin> </plugins> </build>
三、案例演示(eureka-server 注册服务)
查看远程镜像仓库:
相关文章推荐
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- springboot项目maven打包成dockerImage推送到私有仓库dockerhub上
- 使用Maven 插件构建docker 镜像和推送仓库
- Git+Spring-boot+Docker+ Maven +Registry私有仓库 +jenkins 持续集成测试
- maven构建docker镜像三部曲之三:推送到远程仓库(内网和阿里云)
- Spring Boot项目与Docker集成完成打包,打镜像及推送至镜像库的功能
- SpringBoot系列: 使用MyBatis maven插件自动生成java代码
- 第一个SpringBoot web 应用使用maven构建Docker镜像并容器化运行
- 生成springboot docker镜像 并上传到阿里云镜像厂库
- Spring Boot的Maven插件Spring Boot Maven plugin详解
- 第三十八章 springboot+docker(maven)
- 1.7 Docker与微服务-使用Maven插件构建Docker镜像
- Intellij IDEA springboot maven 配置mybatis-generator,自动从数据库中生成代码
- Spring Boot系列(四)Spring Boot Maven插件
- 利用nexus构建maven、docker、npm、gradle私服仓库
- 如果想从jenkins直接生成docker镜像,并推送到harbor中,最简单的脚本如何实现?
- docker + maven + springBoot 编译打包
- 第三十八章 springboot+docker(maven)