docker部署springboot项目(idea版+详细步骤)
IDEA一次docker部署springboot项目
1. 保证服务器安装了docker并开启了允许远程访问
2. IDEA 上的准备工作,主要是安装一个 Docker 插件,点击 File->Settings->Plugins->Browse Repositories
3. 安装完插件重启IDEA File->Settings->Build,Execution,Deployment->Docker 然后配置一下 Docker 的远程连接地址
4. 配置完左下角会显示Connection successful 然后点击Ok
5. 在项目的根目录下新建src/main/docker/Dockerfile文件 写入
FROM hub.c.163.com/library/java:8
VOLUME /tmp
ADD nice-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
* _Spring Boot 项目的运行依赖 Java 环境,所以我自己的镜像基于 Java 镜像来构建。_
* _考虑到 Docker 官方镜像下载较慢,我这里使用了网易提供的 Docker 镜像。_
* _由于 Spring Boot 运行时需要 tmp 目录,这里数据卷配置一个 /tmp 目录出来。 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp_
* _将本地 target 目录中打包好的 .jar 文件复制一份新的 到 /app.jar。_
* _最后就是配置一下启动命令,由于我打包的 jar 已经成为 app.jar 了,所以启动命令也是启动 app.jar_
6. pom 文件中配置docker插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<dockerHost>http://ip:2375</dockerHost>
<imageName>javaboy/${project.artifactId}</imageName>
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<forceTags>true</forceTags>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>target</targetPath>
</resource>
</resources>
</configuration>
</plugin>
* _首先在 execution 节点中配置当执行 mvn package 的时候,顺便也执行一下 docker:build_
* _然后在 configuration 中分别配置 Docker 的主机地址,镜像的名称,镜像的 tags,其中 dockerDirectory 表示指定 Dockerfile 的位置。_
* _最后 resource 节点中再配置一下 jar 的位置和名称即可。
7. 在Dockerfile左边可以看到一个按钮 点击运行会自动构建镜像
8. 完成后idea左下角可以看到服务器上的镜像知道对应的项目镜像邮件选择【Create Container】- 【Create…】
9. 设置基本配置 设置完成,点击【Run】,即启动容器
10.启动完成在浏览器输入对应项目地址访问验证下就可以了