• arvilin
    2019-09-03
    波波老师,我这边使用centos构建的,docker-compose up出现这个问题,
    03-09-2019 06:11:45.041 [main] ERROR o.s.boot.SpringApplication.reportFailure - Application run failed
    account-service_1 | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
    是不是哪里还要设置
    展开

    作者回复: 这个错误提示一般是容器里头的应用无法连接mysql数据库造成,你需要核实应用的数据库连接字符串和密码设施是否正确(项目目录下的.env文件里头配置,可以在.env.example的基础上改)。

    如果配置是对的,那么另外,docker-compose启动的容器环境有一个独立网络的,它和本地的网络是不同网络,你可否尝试docker exec容器上去尝试ping本机ip,看是否通。

     1
     2
  • 朝如青丝暮成雪
    2019-11-08
    docker 启动服务的时候,在Step 8/13 :myaccount和app-service报错:【1、 RUN npm rebuild node-sass gyp verb `which` failed Error: not found: python2;2、Cannot download "https://github.com/sass/node-sass/releases/download/v4.12.0/linux_musl-x64-79_binding.node":
    HTTP error 404 Not Found 】 查了半天,最后将frontend/app/dockerfile和frontend/myaccount/dockerfile的 【 RUN npm install 】 改为 【RUN npm install --unsafe-perm node-sass】 就可以了,希望可以帮到其他有错误的同学。

    作者回复: 谢谢你的建议!学习过程中碰到问题,自己主动解决,而且能把解决办法分享出来,这中学习方式收获最大。

    
     1
  • Joey
    2019-11-03
    波波老师,我npm install 要卡很久,然后报错,该如何处理?
    Step 7/13 : RUN npm install
     ---> Running in 93b3e52c7521

    npm ERR! Maximum call stack size exceeded

    npm ERR! A complete log of this run can be found in:
    npm ERR! /root/.npm/_logs/2019-11-03T15_36_43_578Z-debug.log
    ERROR: Service 'myaccount-service' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 1
    展开

    作者回复: 你好,Staffjoy的前端构建是要求Linux或者Mac环境的,Windows环境暂不支持。如果是Windows环境,有几个办法可以尝试:

    1. 安装Linux虚拟机(比如用Vagrant),在虚拟机里头构建。
    2. 有学员给出了一个在windows构建的修复方案(https://github.com/spring2go/staffjoy/issues/6),可以尝试下
    3. 跳过构建,直接用波波已经打好的镜像(https://hub.docker.com/u/boboweike),构建实际就是生成静态的html/js文件,然后放在nginx目录下,打成镜像,这步骤理解即可,没必要完全动手操作。

    另外,如果在Linux或者Mac环境,也要求网络良好,github可以正常访问,因为Staffjoy的前端构建需要到github上下载东西。

    
    
  • 322
    2019-11-03
    老师您好,如果只修改了某服务的一部分代码,也不影响其他服务,也需要走一遍dock-compose吗? 有什么简单的办法做单独的发布吗?

    作者回复: 你可以只构建那个修改的服务(如果是spring boot应用,用mvn clean package把jar先构建出来),然后在服务目录(里头有Dockerfile),用docker build命令打成镜像,然后docker push可以把镜像推到你的镜像仓库。

    docker build/push的具体用法,网上很多示例搜一下即可。

    
    
  • 丁乐洪
    2019-10-14
    switchhosts配置域名,只能本地访问?

    作者回复: switchhosts是本地域名映射,测试用的。域名配在本地机器上,通过本地浏览器访问,实际服务的ip地址可以在远程。生产环境,如果在数据中心或云环境,一般有独立的域名服务器。

    
    
  • 李盛杰
    2019-09-27
    老师 不用switchhosts做映射可以吗 我就在本地通过docker-compose部署了两个springboot服务 也没有单页面应用 两个项目也都启动了 但是在浏览器上通过指定的端口无法访问 而且使用的ip是通过docker network找到在配置文件中新创建的外网访问的ip。
    docker环境中的普通springboot项目具体怎么访问呢

    作者回复: staffjoy项目的原始代码设计是要求域名访问的。如果要绕开,直接用ip访问,也可以做到,不过需要修改代码。说实话staffjoy的代码不多,也不难看懂,我想学员认真学完课程,稍有编程基本功,都可以按需调整代码。

    学习一个软件项目,只有你根据需要修改了它的源码,才能真正理解它,这也是一种有效学习方式,建议自己尝试修改staffjoy源码。

    另外,应用(不限于springboot)在容器中运行,一般通过端口转发,可以在主机上直接进行访问,相关资料网上很多,例如这个讲得比较细https://www.cnblogs.com/kevingrace/p/9453987.html。

    
    
  • 王杰
    2019-09-11
    老师你好,现在我在本地中docker中项目都可以正常起来,邮箱配置的地方dev test 环境 ,是不是需要阿里云企业邮箱,还是邮件推送服务呢?

    作者回复: 对,目前mail-svc用的是阿里云邮件推送服务(DirectMail),这个做法有点复杂,不少学员反馈邮件发送不成功,我后续会考虑把mail-svc改成简单的smtp发邮件方式。另外有2点建议:

    1. 有一个绕过办法,mail-svc邮件发送失败的话会打异常日志,日志里头有邮件内容。新用户注册失败的话,异常日志里头有激活链接,复制到浏览器就可以激活注册。
    2. 作为课程扩展,学员可以考虑改造一下mail-svc,让其支持简单的smtp等方式发送邮件,这个工作量其实不大的。高级的做法还可以发送到微信或者bearychat等即时通信渠道,这个稍微有一些工作量,但也不是很大。

    
    
我们在线,来聊聊吧