blog-comments icon indicating copy to clipboard operation
blog-comments copied to clipboard

Spring Boot 2.0(四):使用 Docker 部署 Spring Boot - 纯洁的微笑博客

Open ityouknow opened this issue 6 years ago • 59 comments

http://www.ityouknow.com/springboot/2018/03/19/spring-boot-docker.html

Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。

ityouknow avatar Mar 19 '18 01:03 ityouknow

你好,请问你是用什么工具将项目拷贝服务器中的?谢谢

xiah217 avatar Mar 23 '18 02:03 xiah217

@xiah217 什么都可以呀, ssh工具,rz等

ityouknow avatar Mar 23 '18 02:03 ityouknow

@ityouknow @xiah217 什么都可以呀, ssh工具,rz等

谢谢你,博主好人,将康快乐

xiah217 avatar Mar 23 '18 02:03 xiah217

winscp应该也可以吧

kakadai avatar Mar 23 '18 12:03 kakadai

我想知道日志去哪里了

TanqiZhou avatar Mar 28 '18 03:03 TanqiZhou

@TanqiZhou 就在容器里面

ityouknow avatar Mar 28 '18 04:03 ityouknow

为什么在用mvn package docker:build构建镜像的时候一直显示 Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.pom

xiah217 avatar Mar 28 '18 05:03 xiah217

你的文档应该再进一步,加入用docker-compose的部分

youarepppp avatar Apr 01 '18 10:04 youarepppp

@youarepppp 你的文档应该再进一步,加入用docker-compose的部分

博主已经写了相关的,你自己找

xiah217 avatar Apr 02 '18 01:04 xiah217

docker run -p 7106:7106 -t springboot/spring-boot-docker 他不会后台运行唉

HyggeBo7 avatar Apr 02 '18 03:04 HyggeBo7

@wubodanran 加上 -d 参数,类似下面:

docker run -d -p 7106:7106 -t springboot/spring-boot-docker

ityouknow avatar Apr 02 '18 03:04 ityouknow

博主,我写了两个不相关的项目a和b,分别已经得到对应的镜像springboot/a 和 springboot/b,为什么我只能docker run一个镜像,当运行另外一个镜像时就会把前面跑起来的镜像挤下去,端口没有冲突,谢谢你!

xiah217 avatar Apr 02 '18 07:04 xiah217

太详细了,赞个

WinterChenS avatar Apr 27 '18 03:04 WinterChenS

mvn package docker:build时报错:

[INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:17 min [INFO] Finished at: 2018-06-05T17:18:11+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project springboot-docker-demo: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: org.apache.http.client.ClientProtocolException: Cannot retry request with a non-repeatable request entity: Connection reset by peer -> [Help 1]

怎么破?

kely39 avatar Jun 05 '18 09:06 kely39

为什么是在centos中安装环境,不是用docker镜像安装。

gistmap avatar Jun 16 '18 04:06 gistmap

@gistmap 为什么是在centos中安装环境,不是用docker镜像安装。

maven和jdk都不是镜像安装的,有问题吗?

kely39 avatar Jun 20 '18 01:06 kely39

docker 安装mysql其他机器访问没问题,部署到本机就不行了,这么咋搞

chyitboy avatar Jun 28 '18 09:06 chyitboy

我的也没成功之后还没去跟踪了,你的maven是镜像安装的吗?

在 2018年6月29日,00:55,王小伟 [email protected] 写道:

您好,我按照您的教程来学习的,当执行到 mvn package docker:build 这个步骤时, 其中第三步拷贝文件时发生了错误。 Step 3/4 : ADD spring-boot-docker-1.0.jar app.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 47.904 s [INFO] Finished at: 2018-06-28T12:13:26+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project springboot-docker: Exception caught: ADD failed: stat /var/lib/docker/tmp/docker-builder804713190/spring-boot-docker-1.0.jar: no such file or directory -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 我已经把我运行的代码上传到github,地址: https://github.com/huowolf/springboot/tree/master/springboot-docker。 麻烦你有时间的时候指正一下我哪里错误了,不胜感谢!!学习啦!!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

kely39 avatar Jun 29 '18 07:06 kely39

@kely39 我的也没成功之后还没去跟踪了,你的maven是镜像安装的吗?

在 2018年6月29日,00:55,王小伟 [email protected] 写道:

您好,我按照您的教程来学习的,当执行到 mvn package docker:build 这个步骤时, 其中第三步拷贝文件时发生了错误。 Step 3/4 : ADD spring-boot-docker-1.0.jar app.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 47.904 s [INFO] Finished at: 2018-06-28T12:13:26+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project springboot-docker: Exception caught: ADD failed: stat /var/lib/docker/tmp/docker-builder804713190/spring-boot-docker-1.0.jar: no such file or directory -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 我已经把我运行的代码上传到github,地址: https://github.com/huowolf/springboot/tree/master/springboot-docker。 麻烦你有时间的时候指正一下我哪里错误了,不胜感谢!!学习啦!!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

你好,我已经参照本篇博文操作成功了。 Maven不是安装的docker镜像,而是直接安装在你的远程Linux服务器上的。

huowolf avatar Jun 29 '18 16:06 huowolf

@gistmap 为什么是在centos中安装环境,不是用docker镜像安装。

我的理解:因为需要在远程服务器上手动使用Maven构建docker镜像,所以需要Maven环境,而maven环境依赖于Java环境。所以Java和Maven都需要你自己安装了。

huowolf avatar Jun 29 '18 16:06 huowolf

@huowolf

@gistmap 为什么是在centos中安装环境,不是用docker镜像安装。

我的理解:因为需要在远程服务器上手动使用Maven构建docker镜像,所以需要Maven环境,而maven环境依赖于Java环境。所以Java和Maven都需要你自己安装了。

我也参照本篇博文操作成功了。我的理解是:项目还是需要自己构建,pom中的docker-maven-plugin 只是在maven打完包后将打包后的内容利用插件中配置的参数 结合docker:build命令构建docker镜像发布到docker容器中,当容器中存在我们已经发布上去的项目时,直接运行docker run启动即可。关于项目的构建还是需要在本地构建才行,docker-maven-plugin只是当本地(本地已安装docker环境)执行docker:build时传递相关的参数。

liqimoon avatar Jul 05 '18 03:07 liqimoon

学完去装逼

java-aodeng avatar Jul 25 '18 05:07 java-aodeng

Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project huiliang: Exception caught: com.spotify.docker.client.shaded.com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.spotify.docker.client.messages.RegistryAuth: no String-argument constructor/factory method to deserialize from String value ('swarm')

按照博主的方法进行构建,但是报了这个错误不知道有没有大神看一下

lijinghao1997 avatar Jul 31 '18 07:07 lijinghao1997

[INFO] Copying /developer/repository/springboot-docker/target/springboot-0.0.1-SNAPSHOT.jar -> /developer/repository/springboot-docker/target/docker/springboot-0.0.1-SNAPSHOT.jar
[INFO] Copying src/main/docker/Dockerfile -> /developer/repository/springboot-docker/target/docker/Dockerfile
[INFO] Building image springboot/springboot
Step 1/4 : FROM openjdk:8-jdk-alpine
 ---> 5801f7d008e5
Step 2/4 : VOLUME /tmp
 ---> Using cache
 ---> d5a539e5511f
Step 3/4 : ADD spring-boot-docker-1.0.jar app.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 33.405 s
[INFO] Finished at: 2018-08-13T14:09:45+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.13:build (default-cli) on project springboot: Exception caught: lstat spring-boot-docker-1.0.jar: no such file or directory -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

我也出现异常了 在执行mvn package docker:build这一步

chencong-plan avatar Aug 13 '18 06:08 chencong-plan

细节可以参考这个:https://blog.csdn.net/caox_nazi/article/details/78366584

derkeeUser avatar Aug 22 '18 02:08 derkeeUser

请问当springboot项目更新的时候如何重新部署?难道每次都要重新创建运行docker镜像吗?再比如ADD ./nginx.conf /etc/nginx/nginx.conf,当修改了./nginx.conf文件的时候如何重新生效?

zhangdp avatar Aug 31 '18 03:08 zhangdp

学习了

cuisea avatar Sep 05 '18 09:09 cuisea

首先要有一台linux服务器

BonnieCabrera avatar Sep 27 '18 03:09 BonnieCabrera

嗯,讲的不错!

JellyB avatar Oct 09 '18 02:10 JellyB

mvn package docker:build 报异常的,把docker-maven-plugin插件版本改成0.4.11就可以了(Mac ,linux好像没问题)

wuqiupeng avatar Oct 17 '18 06:10 wuqiupeng