Docker简单部署springboot项目
Docker简介
介绍
docker官网链接
docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux服务器,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类iphone的app),并且容器开销极其低。
部署步骤
引入docker插件
在项目的pom文件中引入docker-maven插件,注意:${docker.image.prefix}、${docker.host}这两个参数需要自己手动加,docker.image.prefix是打包出来的镜像名称前缀,docker.host是部署docker服务器的ip+端口,例:http://127.0.0.1:2369
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<dockerHost>${docker.host}</dockerHost>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
项目打包
打包项目:clean -> package
编写Dockerfile文件
#添加Java启动的必要镜像
FROM williamyeh/java8
#将本地文件挂载到当前容器
VOLUME /tmp
#复制jar文件和配置文件所在的目录到容器里
ADD spring_demo-0.0.1-SNAPSHOT.jar /app/springdemo.jar
#创建一个目录存放配置文件,启动容器时挂载配置文件
RUN mkdir -p /conf
#声明需要暴露的端口
#EXPOSE 8082
ENTRYPOINT ["java","-jar","/app/springdemo.jar","--spring.config.location=/conf/application.yml"]
提示:
1、部署java项目需要jdk镜像,可以去 官网找一个
2、创建一个conf目录,可以用来挂载配置文件,方便可以在容器外修改配置后重启容器即可
启动容器
执行docker:build,需等待几分钟。。。。
执行完成后可以看到镜像已经生成了,接下来要创建配置文件挂载目录,便于修改项目配置
运行docker run --name springdemo -d -p 8080:8080 -v /mydata/javapro/springdemo:/conf springdemo:0.0.1-SNAPSHOT
启动后可以访问页面验证是否启动正常,也可以查看容器启动日志。
结语
本次分享到此已经结束了,希望对大家有所帮助。如有错误之处还请指出,谢谢。