下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 67 | 将Staffjoy部署到本地Docker Compose环境(下)
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

Spring Boot与Kubernetes云原生微服务实践

共94讲 · 约900分钟
4742
免费
01 | 课程介绍
免费
02 | 背景说明
免费
03 | 课程目标和主要内容
免费
04 | 课程案例需求
免费
05 | 课程补充说明
免费
06 | 为何采用微服务架构?
免费
07 | 架构设计和技术栈选型
08 | 数据和接口模型设计:账户...
09 | 数据和接口模型设计:业务...
10 | Dubbo、Spring Cloud和Ku...
11 | Dubbo、Spring Cloud和Ku...
12 | Dubbo、Spring Cloud和Ku...
13 | 技术中台到底讲什么?
14 | Staffjoy项目结构组织
15 | 谷歌为何采用单体仓库(Mo...
16 | 微服务接口参数校验为何重...
17 | 如何实现统一异常处理?
18 | DTO和DMO为什么要互转?
19 | 如何实现基于Feign的强类...
20 | 为什么框架层就要考虑分环...
21 | 异步处理为何要复制线程上...
22 | 为你的接口添加Swagger文...
23 | 主流微服务框架概览
24 | 网关和BFF是如何演化出来...
25 | 网关和BFF是如何演化出来...
26 | 网关和反向代理是什么关系...
27 | 网关需要分集群部署吗?
28 | 如何设计一个最简网关?
29 | Faraday网关代码解析(上...
30 | Faraday网关代码解析(下...
31 | 生产级网关需要考虑哪些环...
32 | 主流开源网关概览
33 | 安全认证架构演进:单块阶...
34 | 安全认证架构演进:单块阶...
35 | 安全认证架构演进:微服务...
36 | 基于JWT令牌的安全认证架...
37 | JWT的原理是什么?
38 | JWT有哪两种主要流程?
39 | Staffjoy安全认证架构和S...
40 | 用户认证代码剖析
41 | 服务调用鉴权代码剖析
42 | 如何设计用户角色鉴权?
43 | Spring Boot微服务测试该...
44 | 什么是契约驱动测试?
45 | 什么是测试金字塔?
46 | 单元测试案例分析
47 | 集成测试案例分析
48 | 组件测试案例分析
49 | Mock vs Spy
50 | 何谓生产就绪(Production...
51 | Spring Boot如何实现分环...
52 | Apollo vs SpringCloudC...
53 | CAT vs Zipkin vs Sk...
54 | CAT vs Zipkin vs Sk...
55 | 结构化日志和业务审计日志
56 | 集中异常监控和Sentry
57 | EFK & Prometheus &...
58 | 本地开发部署架构和软件需...
59 | 手工服务部署和测试(上)
60 | 手工服务部署和测试(中)
61 | 手工服务部署和测试(下)
62 | SkyWalking调用链监控实...
63 | Docker和Docker Compose...
64 | 容器镜像构建Dockerfile解...
65 | Docker Compose服务部署...
66 | 将Staffjoy部署到本地Doc...
67 | 将Staffjoy部署到本地Doc...
68 | 到底什么是云原生架构?
69 | Kubernetes背景和架构
70 | Kubernetes有哪些基本概念...
71 | Kubernetes有哪些基本概念...
72 | 理解Kubernetes节点网络和...
73 | 深入理解Service和Service...
74 | NodePort vs LoadBalanc...
75 | 本地测试Kubernetes部署文...
76 | 本地测试Kubernetes环境搭...
77 | 将Staffjoy部署到本地Kub...
78 | 将Staffjoy部署到本地Kub...
79 | 生产环境Kubernetes部署文...
80 | 阿里云Kubernetes环境创建
81 | 将Staffjoy部署到阿里云K...
82 | Kubernetes应用动态配置实...
83 | Kubernetes应用金丝雀发布...
84 | 阿里云资源释放
85 | 课程复盘
86 | 项目扩展和应用
87 | Account服务
88 | Company服务
89 | Mail、SMS和Bot服务
90 | Faraday服务
91 | WhoAmI服务
92 | WWW服务
93 | 前端应用
94 | 结束语

精选留言(7)

  • 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
  • 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
  • 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上下载东西。

  • 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等即时通信渠道,这个稍微有一些工作量,但也不是很大。