docker部署springboot项目
注意:这里的springboot项目是最简单的web项目
1、pom中添加docker-maven-plugin插件配置
<!-- Docker Maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <imageName>springio/docker</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
docker-maven-plugin插件用于将Spring Boot工程构建为Docker镜像:
imageName表示构建的Docker镜像名称,我们使用Docker的命名规范,命名为:springio/docker
dockerDirectory表示Dockerfile的路径
resource表示在构建时需要的资源文件,这些文件和Dockerfile放在一起,这里只需要Spring Boot生成的jar文件即可
2、创建Dockerfile文件
在src/main/docker目录下新建Dockerfile文件,没有后缀名
注意大小写!注意大小写!注意大小写!
FROM openjdk:8-jdk-alpine VOLUME /tmp ADD spring-boot-docker-1.0.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
spring-boot-docker-1.0.jar是maven打包生成的文件
FROM 该命令定义了使用哪个基础镜像启动构建流程
VOLUME 该命令用于让你的容器访问宿主机上的目录
ADD 拷贝文件并且重命名
ENTRYPOINT 配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖
3、构建镜像
使用命令来构建docker镜像
maven package docker:build
构建成功后使用docker images或者docker image list来查看镜像
docker images
docker image list
springio/docker就是我们构建成功的镜像
4、启动镜像
docker run -p 8080:8080 -d springboot/spring-boot-docker
docker run 创建一个新的容器并运行一个命令
-p 端口映射,格式为:主机(宿主)端口:容器端口
-d 后台运行容器,并返回容器ID
查看运行中的容器
docker ps
在浏览器输入http://服务器ip:8080/就可以访问你的springboot项目了