Spring Boot 与 Kubernetes 云原生微服务实践
杨波
前携程 / 拍拍贷技术总监,微服务技术专家
28227 人已学习
新⼈⾸单¥98
课程目录
已完结/共 94 讲
第一章:课程介绍和案例需求 (5讲)
第十章:项⽬复盘、应用和扩展环节 (2讲)
第十一章:附录 Staffjoy 项目源代码解析 (8讲)
时长 14:53
时长 10:29
时长 10:52
时长 05:09
时长 15:06
时长 16:17
Spring Boot 与 Kubernetes 云原生微服务实践
登录|注册
留言
18
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 66 | 将Staffjoy部署到本地Docker Compose环境(上)
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 背景说明
03 | 课程目标和主要内容
04 | 课程案例需求
05 | 课程补充说明
06 | 为何采用微服务架构?
07 | 架构设计和技术栈选型
08 | 数据和接口模型设计:账户服务
09 | 数据和接口模型设计:业务服务
10 | Dubbo、Spring Cloud和Kubernetes该如何选型(上)
11 | Dubbo、Spring Cloud和Kubernetes该如何选型(中)
12 | Dubbo、Spring Cloud和Kubernetes该如何选型(下)
13 | 技术中台到底讲什么?
14 | Staffjoy项目结构组织
15 | 谷歌为何采用单体仓库(Mono-Repo)?
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安全认证架构和SSO
40 | 用户认证代码剖析
41 | 服务调用鉴权代码剖析
42 | 如何设计用户角色鉴权?
43 | Spring Boot微服务测试该如何分类?
44 | 什么是契约驱动测试?
45 | 什么是测试金字塔?
46 | 单元测试案例分析
47 | 集成测试案例分析
48 | 组件测试案例分析
49 | Mock vs Spy
50 | 何谓生产就绪(Production Ready)?
51 | Spring Boot如何实现分环境配置
52 | Apollo vs SpringCloudConfig vs K8s ConfigMap
53 | CAT vs Zipkin vs Skywalking(上)
54 | CAT vs Zipkin vs Skywalking(下)
55 | 结构化日志和业务审计日志
56 | 集中异常监控和Sentry
57 | EFK & Prometheus & Skywalking + Kubernetes 集成架构
58 | 本地开发部署架构和软件需求
59 | 手工服务部署和测试(上)
60 | 手工服务部署和测试(中)
61 | 手工服务部署和测试(下)
62 | SkyWalking调用链监控实验
63 | Docker和Docker Compose简介
64 | 容器镜像构建Dockerfile解析
65 | Docker Compose服务部署文件剖析
66 | 将Staffjoy部署到本地Docker Compose环境(上)
67 | 将Staffjoy部署到本地Docker Compose环境(下)
68 | 到底什么是云原生架构?
69 | Kubernetes背景和架构
70 | Kubernetes有哪些基本概念(上)
71 | Kubernetes有哪些基本概念(下)
72 | 理解Kubernetes节点网络和Pod网络
73 | 深入理解Service和ServiceDiscovery
74 | NodePort vs LoadBalancer vs Ingress
75 | 本地测试Kubernetes部署文件剖析
76 | 本地测试Kubernetes环境搭建
77 | 将Staffjoy部署到本地Kubernetes环境(上)
78 | 将Staffjoy部署到本地Kubernetes环境(下)
79 | 生产环境Kubernetes部署文件剖析
80 | 阿里云Kubernetes环境创建
81 | 将Staffjoy部署到阿里云Kubernetes环境
82 | Kubernetes应用动态配置实验
83 | Kubernetes应用金丝雀发布实验
84 | 阿里云资源释放
85 | 课程复盘
86 | 项目扩展和应用
87 | Account服务
88 | Company服务
89 | Mail、SMS和Bot服务
90 | Faraday服务
91 | WhoAmI服务
92 | WWW服务
93 | 前端应用
94 | 结课测试&结束语
登录 后留言

全部留言(18)

  • 最新
  • 精选
WandaYu
# 不建议 docker tag 使用 latest..视频是两年前当时可以build,但两年后变化太多了..这是我自己的 `docker-compose build` patch: staffjoy/frontend/myaccount/Dockerfile diff --git a/frontend/myaccount/Dockerfile b/frontend/myaccount/Dockerfile index 54e7bdc..d7c8534 100644 --- a/frontend/myaccount/Dockerfile +++ b/frontend/myaccount/Dockerfile @@ -1,4 +1,4 @@ -FROM node:alpine as builder +FROM node:10.12-alpine as builder WORKDIR '/build' COPY myaccount ./myaccount COPY resources ./resources @@ -6,6 +6,7 @@ COPY third_party ./third_party WORKDIR '/build/myaccount' +RUN apk add python RUN npm install RUN npm rebuild node-sass RUN npm run build ---- diff --git a/frontend/app/Dockerfile b/frontend/app/Dockerfile index 9aaf081..3f7dd5d 100644 --- a/frontend/app/Dockerfile +++ b/frontend/app/Dockerfile @@ -1,4 +1,4 @@ -FROM node:alpine as builder +FROM node:10.12-alpine as builder WORKDIR '/build' COPY app ./app COPY resources ./resources @@ -6,6 +6,7 @@ COPY third_party ./third_party WORKDIR '/build/app' +RUN apk add python RUN npm install RUN npm rebuild node-sass RUN npm run build

作者回复: 课程为了简化采用了latest。生产实践的话,确实不建议用latest做tag,建议用buildId or buildNumber。 如果你有好的patch,可以提交pull request到staffjoy的github仓库,谢谢!

2021-02-24
2
5
木刻
亲自试了下,在windows下通过安装DockerDesktop也能构建成功,期间首先遇到了@Geek_193e26的问题,看日志是少了Python环境,按照@WandaYu的方法顺利解决。然后也遇到了@nzb中的node-sass下载和@俊杰hope的phantomjs下载问题,其实是网络下载超时了,换了个网络环境就顺利构建成功了。

作者回复: 谢谢你的分享。多试多踩坑,这是成为技术高手的必经之路。

2021-05-19
2
Geek_da9deb
构建时报: Lombok annotation handler class lombok.javac.handlers.HandleBuilder failed on /Users/lihong/learn/java/staffjoy/company-api/src/main/java/xyz/staffjoy/company/dto/TimeZoneList.java: java.lang.IllegalStateException: Lombok TreeMaker frontend issue: no match when looking for method: com.sun.tools.javac.tree.JCTree$JCCase com.sun.tools.javac.tree.TreeMaker.Case(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.util.List)

作者回复: 我网上查了一下,类似问题: https://github.com/mplushnikov/lombok-intellij-plugin/issues/612 看上去和jdk版本(说jdk12会有这个问题),或者idea lombok plugin的版本有关,请尝试更新用不同版本。

2020-05-02
4
2
kissyoudyb
> myaccount@1.0.0 build /build/myaccount > webpack --progress --colors --config ./webpack.config.js sh: webpack: not found npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! myaccount@1.0.0 build: `webpack --progress --colors --config ./webpack.config.js` npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the myaccount@1.0.0 build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2019-08-23T07_59_05_753Z-debug.log docker-compose build的时候构建 单页应用的时候报错,怎么弄都不行,请老师指点,webpack是不是需要具体哪个版本

作者回复: 看起来是webpack没正确安装,应该是前面npm install步骤出问题了,你尝试不用docker-compose,手工本地build是否ok,确保网络安装没有问题。 如果要运行,你也可以拉我已经打好的镜像:https://hub.docker.com/u/boboweike

2019-08-23
2
1
Geek_193e26
dockers-compose bulid构建myaccount-service时报错。window系统。报错如下: Step 8/13 : RUN npm rebuild node-sass npm notice npm notice New minor version of npm available! 7.3.0 -> 7.5.2 npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.5.2> npm notice Run `npm install -g npm@7.5.2` to update! npm notice npm ERR! code 1 npm ERR! path /build/myaccount/node_modules/node-sass npm ERR! command failed npm ERR! command sh -c node-gyp rebuild npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using node-gyp@3.8.0 npm ERR! gyp info using node@15.5.1 | linux | x64 npm ERR! gyp ERR! configure error npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. npm ERR! gyp ERR! stack at PythonFinder.failNoPython (/build/myaccount/node_modules/node-gyp/lib/configure.js:484:19) npm ERR! gyp ERR! stack at PythonFinder.<anonymous> (/build/myaccount/node_modules/node-gyp/lib/configure.js:406:16) npm ERR! gyp ERR! stack at F (/build/myaccount/node_modules/which/which.js:68:16) npm ERR! gyp ERR! stack at E (/build/myaccount/node_modules/which/which.js:80:29) npm ERR! gyp ERR! stack at /build/myaccount/node_modules/which/which.js:89:16 npm ERR! gyp ERR! stack at /build/myaccount/node_modules/isexe/index.js:42:5 npm ERR! gyp ERR! stack at /build/myaccount/node_modules/isexe/mode.js:8:5 npm ERR! gyp ERR! stack at FSReqCallback.oncomplete (node:fs:199:21) npm ERR! gyp ERR! System Linux 5.4.72-microsoft-standard-WSL2 npm ERR! gyp ERR! command "/usr/local/bin/node" "/build/myaccount/node_modules/node-gyp/bin/node-gyp.js" "rebuild" npm ERR! gyp ERR! cwd /build/myaccount/node_modules/node-sass npm ERR! gyp ERR! node -v v15.5.1 npm ERR! gyp ERR! node-gyp -v v3.8.0 npm ERR! gyp ERR! not ok ERROR: Service 'myaccount-service' failed to build : The command '/bin/sh -c npm rebuild node-sass' returned a non-zero

作者回复: Staffjoy暂不支持在windows环境下构建,建议使用Linux或mac环境。如果只有windows环境的话,建议通过VirtualBox虚拟机安装Linux环境。 另外构建时请保证网络能够正常访问github。

2021-02-06
2
浩仔是程序员
不需要依赖操作系统的基础镜像吗?

作者回复: 我没有完全理解你的问题,能否解释下你的具体问题是什么?

2021-01-24
grey927
杨老师,我想在本地构建几个Java应用没问题,但是这两个spa应用的时候,构建报错了,PS:我是在Windows10下: D:\git\staffjoy\frontend\myaccount>docker build -t hui/myaccount-spa . Sending build context to Docker daemon 500.7kB Step 1/17 : FROM node:alpine as builder ---> 3bf5a7d41d77 Step 2/17 : WORKDIR '/build' ---> Using cache ---> 5e34364388c0 Step 3/17 : COPY myaccount ./myaccount COPY failed: stat /var/lib/docker/tmp/docker-builder728496075/myaccount: no such file or directory

作者回复: 你好,课程需求是Linux或Mac环境,如果是Win环境,建议安装Linux虚拟机环境(可以用VirtualBox/Vagrant),然后在虚拟机里头尝试构建。

2020-06-04
renee
老师请教一个问题:为什么不推荐linux呢?linux中没有界面吗?

作者回复: 课程提到不推荐linux了吗? Docker的话Linux/Mac/Windows都支持。 Docker Desktop仅支持Mac/Windows。 Minikube的话Linux/Mac/Windows都支持。

2020-04-16
2
nzb
hi Successfully built 53a9101d9d97 Successfully tagged boboweike/web-app:latest Building myaccount_service Step 1/13 : FROM node:alpine as builder ---> b809734bb743 Step 2/13 : WORKDIR '/build' ---> Using cache ---> 66ba427ee446 Step 3/13 : COPY myaccount ./myaccount ---> Using cache ---> cb6162123250 Step 4/13 : COPY resources ./resources ---> Using cache ---> 5b91f5361b2d Step 5/13 : COPY third_party ./third_party ---> Using cache ---> bf01b2b53728 Step 6/13 : WORKDIR '/build/myaccount' ---> Using cache ---> c5a7ab46afb8 Step 7/13 : RUN npm install ---> Using cache ---> 25dcb9bb407f Step 8/13 : RUN npm rebuild node-sass ---> Running in 1a5104f56305 > node-sass@4.12.0 install /build/myaccount/node_modules/node-sass > node scripts/install.js Downloading binary from https://github.com/sass/node-sass/releases/download/v4.12.0/linux_musl-x64-79_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.12.0/linux_musl-x64-79_binding.node": HTTP error 404 Not Found build的时候报错,试了好几次都是这个错误,请老师指点下

作者回复: linux环境? https://github.com/sass/node-sass/releases/ 我看了上面的node-sass release,4.12.0这个版本还真没有linux_musl-x64-79_binding.node这个文件。请尝试将frontend项目的package.json中的node-sass依赖版本改为4.13.0或4.13.1,再构建试试。

2020-02-07
2
nzb
hi Service 'myaccount_service' failed to build: Get https://registry-1.docker.io/v2/library/node/manifests/sha256:44ab5111b9cee99c46faca3d5db844983c8d9b6b604bd2a70a9a014c8a0298e0: net/http: TLS handshake timeout 这个老是超时,这个有解决办法么?

作者回复: 这个错误报告是网络问题,拉不到docker-hub上的镜像,建议凌晨(7点以前)网络比较空闲的时候操作,或者使用一些docker镜像加速器(比如阿里云镜像加速器,需要阿里云账号),或者使用‘科学上网’软件。

2020-02-06
收起评论