springboot打包docker镜像部署
2017-02-16 15:56
946 查看
摘要: spring项目打包成docker部署
maven
git yum install git
docker yum install docker-io
pom.xml新增docker配置
dockerDirectory Dockerfile位置
resources 指那些需要和 Dockerfile 放在一起,在构建镜像时使用的文件,一般应用 jar 包需要纳入。本例,只需一个 jar 文件
Dockerfile定义 /src/main/docker/Dockerfile
项目的 jar 文件作为 "app.jar" 添加到容器的
ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 "/dev/urandom" 作为 Entropy Source
用 Docker 构建、运行、发布一个 Spring Boot 应用
springboot打包docker镜像部署
环境准备
机器 vultr一台,centos7资源下载
jdk8maven
git yum install git
docker yum install docker-io
环境搭建
jdk,maven1.解压资源 tar -zxvf jdk8.tar.gz tar -zxvf apache-maven-3.3.9-bin.tar.gz 2.配置环境变量 vim /etc/profile export JAVA_HOME=/root/jdk8 export MAVEN_HOME=/root/apache-maven-3.3.9 export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH 3.资源生效 source /etc/profile
项目准备(使用现有项目)
pan-search-springbootpom.xml新增docker配置
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.3</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </plugin>
配置解释
imageName镜像名称dockerDirectory Dockerfile位置
resources 指那些需要和 Dockerfile 放在一起,在构建镜像时使用的文件,一般应用 jar 包需要纳入。本例,只需一个 jar 文件
Dockerfile定义 /src/main/docker/Dockerfile
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD docker-spring-boot-1.0.0.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
配置解释
VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录项目的 jar 文件作为 "app.jar" 添加到容器的
ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 "/dev/urandom" 作为 Entropy Source
构建dockerImage
项目根路径下执行 mvn package docker:build
运行docker
docker run -p 8080:8080 -t kite/pan-search-springboot
打包上传
账号注册
register登陆
docker login
上传
docker push kitesweet/pan-search-springboot
拉取镜像
docker pull kitesweet/pan-search-springboot
常用docker命令
查看 docker ps docker ps -a为查看所有的容器,包括已经停止的 删除所有容器 docker rm $(docker ps -a -q) 删除单个容器 docker rm <容器名orID> 停止、启动、杀死一个容器 docker stop <容器名orID> docker start <容器名orID> docker kill <容器名orID> 查看所有镜像 docker images 查看容器日志 docker logs -f <容器名orID>
参考
常用docker命令,及一些坑用 Docker 构建、运行、发布一个 Spring Boot 应用
相关文章推荐
- spring boot应用打包成docker镜像和服务的编排
- Spring Boot应用Docker打包成镜像
- Spring Boot学习总结(10)——SpringBoot打包成Docker镜像
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
- Spring Boot项目与Docker集成完成打包,打镜像及推送至镜像库的功能
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数示例代码
- Spring Boot项目打包成docker镜像
- Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像。
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
- SpringBoot之打包成war包部署到tomcat
- spring boot 使用docker在阿里云容器服务部署
- 使用Docker部署Spring Boot 应用 Dockerfile方式
- springboot项目打包部署时把静态资源打包到jar中、或修改静态资源根目录
- springboot(十二):springboot如何测试打包部署
- 将Spring Boot应用打包成可部署的War文件
- SpringBoot Docker部署
- 【Springboot】 学习一 应用打包部署
- 将spring cloud打包docker镜像