赞
踩
注:Dockerfile没有后缀名
Dockerfile中的内容如下:
- # 基于哪个镜像,需要用一个已有的镜像做载体来创建,这里使用的java8镜像,如果大家的docker镜像中没有java8,它就会自动去下载
- FROM openjdk:8-jdk-alpine
- # 将本地文件夹挂载到当前容器,指定/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录
- VOLUME /tmp
- #maven打包buildArgs指定项目jar包位置名称
- ARG JAR_FILE
- #把本地目录下target文件夹里打好的jar文件添加到容器里,重命名为server-boot.jar
- ADD ${JAR_FILE} server-boot.jar
-
- #设置环境变量。在复杂的使用场景中,我们可能需要使用各种参数启动JVM,这些参数通过ENV命令设置的环境变量传入Java命令
- ENV JAVA_OPTS=""
- #容器镜像运行的起始点
- ENTRYPOINT exec java $JAVA_OPTS -jar /server-boot.jar
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>com.spotify</groupId>
- <artifactId>dockerfile-maven-plugin</artifactId>
- <version>1.3.6</version>
- <configuration>
- <!--打包后得到的镜像的名称-->
- <repository>docker/${project.artifactId}</repository>
- <!--Dockerfile中引用到的参数-->
- <buildArgs>
- <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
- </buildArgs>
- </configuration>
- </plugin>
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
mvn package
在centos7 ~ 创建一个文件夹dockerFile里面放置 上面的Dockerfile 和 springBoot 打包的项目spring_boot.jar
在该docker文件下 指令:docker build -t docker_project:v1.0 . 来打镜像包(注意后边有个.)
执行docker build命令,docker就会根据Dockerfile里你定义好的命令进行构建新的镜像。
-t代表要构建的镜像的tag,.代表当前目录,也就是Dockerfile所在的目录,v1.0代表打得镜像包tag版本。然后就可以看到在下载各种依赖的maven、各种jar,构建完毕后,启动项目。
执行docker run -d -p 8090:8080 bpm-server:v1.0 启动运行该镜像 此处讲镜像中端口8080 映射到宿主机的8090端口.
docker logs -f --tail 500 容器id
docker logs --since 5m 容器id
docker logs -f 容器id
如jar包打镜像方式 修改pom 和添加Dockerfile文件,将整个项目放centos目录下。执行mvn package命令先打包
- [root@iz2zeh5mjwg5u2vl2fawchz ~]# ls /usr/local/gs-spring-boot-docker-master
- pom.xml src target
再在/usr/local/gs-spring-boot-docker-master目录下运行命令mvn package docker:build
执行docker images查看打包好的镜像是否成功。
当springboot项目打包下来启动需要读取外置配置文件 外置的jar包时 可以将打包后的整个文件夹创建成docker镜像,方式和打jar包镜像类似 ,换jar为项目打包后生成所需文件夹。
修改Dockerfile文件:
- # 基于哪个镜像,需要用一个已有的镜像做载体来创建,这里使用的java8镜像,如果大家的docker镜像中没有java8,它就会自动去下载
- FROM openjdk:8-jdk-alpine
- # 将本地文件夹挂载到当前容器,指定/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录
- VOLUME /tmp
- #把本地目录下target文件夹里打好的jar文件添加到容器里,重命名为server-boot.jar
- ADD server-boot-8.0.0-SNAPSHOT server-boot-8.0.0-SNAPSHOT
-
- #设置环境变量。在复杂的使用场景中,我们可能需要使用各种参数启动JVM,这些参数通过ENV命令设置的环境变量传入Java命令
- ENV JAVA_OPTS=""
- #容器镜像运行的起始点(有自己的启动脚本可以直接执行)
- ENTRYPOINT exec ./server-boot-8.0.0-SNAPSHOT/bin/startup.sh
注意此时自己打包生成的执行脚本需要赋有权限。
进行jar包打镜像步骤 将此文件夹打成镜像 后启动,实则执行的是启动脚本startup.sh
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。