Docker部署微服务问题及解决
👨🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习
🌌上期文章:Docker容器命令案例:Nginx容器修改,Redis容器持久化
📚订阅专栏:Docker
希望文章对你们有所帮助
我在学习微服务架构的时候需要用docker进行部署,为了方便我实际上使用的Docker-Compose,这个的简单使用方式可以看这篇文章:
详解SpringCloud微服务技术栈:DockerCompose部署微服务集群
这里讲解了一下部署微服务集群的过程,但是在实践的过程中总还是会出现很多问题,在这里我讲一下自己遇到的问题,以及解决的方法:
Docker部署微服务问题及解决
- 下载docker-compose,但是使用出现异常
- jar的打包问题
- 成功打包,但是仍旧没办法执行
下载docker-compose,但是使用出现异常
验证docker-compose成功下载的指令是docker-compose -v,但是并没有出现版本好,在执行部署指令docker-compose up -d的时候也不行,都出现了下面的错误:
/usr/local/bin/docker-compose:行1:html:没有那个文件或目录
/usr/local/bin/docker-compose:行2:未预期的符号<附近有语法错误
/usr/local/bin/docker-compose:行2:…
这是因为我在Linux中利用了curl来拉取高速安装版本,而网速可能不稳定,导致里面的东西没下载完全。
这时候需要重新进行安装。
1、首先把之前的/usr/local/bin/文件夹下面的docker-compose文件删除,这个文件需要换。
2、然后下载完整文件到本地,可以去百度网盘下载:
链接:https://pan.baidu.com/s/1uQSNIbJa1QZgYL5n9GybAQ?pwd=qlky
提取码:qlky
3、下载完上传到/usr/local/bin/文件夹下,并且利用命令来对其进行改名:
mv docker-compose-linux-x86_64 docker-compose
4、将可执行权限应用于二进制文件:
chmod +x /usr/local/bin/docker-compose
5、创建软链:
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
jar的打包问题
docker-compose.yml中的服务与服务之间是可以互相访问的,因此我的服务order-service与user-service是没必要暴露端口的,mysql可以暴露端口,方便你在本地进行连接。
需要注意的是,docker-compose.yml中设定了MySQL密码为123,因此在idea中进行打包的时候,必须确保application.yml中的mysql都是123,不然打包了也没办法成功。
成功打包,但是仍旧没办法执行
无论这其中发生了什么问题,需要重新打包了,那把打包后的jar包重新上传,还是没办法执行的,这是因为容器已经在执行了,你需要先把容器停下来:
docker-compose stop
停止了容器以后,需要进行删除,要删除gateway、order-service以及user-service的容器,利用下面语句:
docker-compose rm `容器名`
接下来还有一个很关键的地方,那就是镜像也得删除!
如果不删除,下一次容器的创建还是用这个镜像来创建的,所以镜像也需要删除,需要删除的镜像依旧是gateway、order-service以及user-service,可以先通过下面语句查询所有的镜像:
docker images
查询到镜像以后,除了镜像的名称,还有镜像的id,需要通过镜像的id进行镜像删除操作:
docker-compose rmi `镜像id`
这样就删干净了,nacos是没必要动的,只是这个服务还是要注意一下的,镜像要删了才行,我没注意到这个问题,导致自己做了好多无用功。
相关文章:
Docker部署微服务问题及解决
👨🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:Docker容器命令案例:Nginx容器修改,Redis容器持久化 📚订阅专栏:Docker 希望文章…...
Android: alarm定时很短时,比如500ms,测试执行mPowerManager.forceSuspend()后,系统不会suspend
参考文档: https://blog.csdn.net/weixin_35691921/article/details/124961404 Android: alarm定时很短时,比如500ms,然后执行mPowerManager.forceSuspend()后,系统不会suspend,原因分析: static int ala…...
一个简单好用的C语言单元测试框架-Unity
Unity简介: Unity是一个用于C语言的轻量级单元测试框架。它由Throw The Switch团队开发,旨在简化嵌入式系统的单元测试。单元测试中单元的含义,单元就是人为规定的最小的被测功能模块,如C语言中单元指一个函数,Java里…...
ubuntu系统 vscode 配置c/c++调试环境
文章目录 1.安装插件2.目录结构3.cmake tools配置 1.安装插件 c/c插件 cmake cmake tools插件 2.目录结构 . ├── build ├── CMakeLists.txt ├── demo │ └── main.cpp ├── image.png ├── src │ ├── add.cpp │ └── add.hpp └── vsdebug.…...
算法练习-A+B/财务管理/实现四舍五入/牛牛的菱形字符(题目链接+题解打卡)
难度参考 难度:简单 分类:熟悉OJ与IDE的操作 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。 题目 A B1. A B - AcWing题库财务管理1004:财…...
XSS语句
XSS测试语句 在测试网站是否存在XSS漏洞时,应该输入一些标签如<,>输入后查看网页源代码是否过滤标签,如果没过滤,很大可能存在XSS漏洞。 <h5>1</h5> <span>1</span> <SCRIPT>alert(document.cookie)&l…...
AD导出BOM表 导出PDF
1.Simple BOM: 这种模式下,最好在pcb界面,这样的导出的文件名字是工程名字,要是在原理图界面导出,会以原理图的名字命名表格。 直接在菜单栏 报告->Simple BOM 即可导出物料清单,默认导出 comment pattern qu…...
linux 的nobody是什么用户? 对安全有没有影响?
目 录 一、前言:nobody是不是可疑用户? 二、Linux系统中的nobody用户? 二、有nobody用户存在,安全吗? 一、前言:nobody是不是可疑用户? 在前面一篇文章“Linux安全问题,如何查看哪…...
2024年华数杯国际数学建模B 光伏电(Problem B: Photovoltaic Power)完整思路以及源代码分享
背景 中国的电力构成包括传统的能源发电(如煤炭、石油和天然气)、可再生能源发电 (如水力发电、风能、太阳能和核能)和其他形式的电力。这些发电方式在满足中 国巨大的电力需求方面发挥着至关重要的作用。根据最新数据…...
在 Spring MVC 中,用于接收前端传递的参数的注解有以下几种
目录 RequestParam: PathVariable: RequestBody: RequestHeader: CookieValue: RequestParam: 用于获取请求参数的值。可以指定参数名称和默认值。示例代码: GetMapping("/users&q…...
K8s常用命令
查看集群各节点的状态 部署应用 删除一个service服务 查询service服务列表 kubectl get services 查看网络资源 kubectl get svc pod 创建一个namespace kubectl create namaspace namespace名称 创建一个pod 通常不需要创建pod 查看pod kubectl get pods kube…...
MySQL的基本操作
目录 序言 一、SQL语句(Structured Query Language) 1.1 SQL简介 1.2 SQL语句的分类 1.3 SQL语句的书写规范 二、数据库操作 2.1 查看库 2.2 创建库 2.3 切换库 2.4 删除库 三、MySQL字符集 3.1 MySQL字符集的分类 3.2 UTF8和UTF8MB4的区别…...
【b站咸虾米】chapter4_vue组件_新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握
课程地址:【新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握】 https://www.bilibili.com/video/BV1mT411K7nW/?p12&share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 四、vue组件 uni-app官网 …...
Java网络编程——UDP通信原理
一、TCP和UDP概述 传输层通常以TCP和UDP协议来控制端点与端点的通信 TCPUDP协议名称传输控制协议用户数据包协议是否连接面向连接的协议。数据必须要建立连接无连接的协议,每个数据报中都给出完整的地址信息,因此不需要事先建立发送方和接受方的连接是…...
Spring | Srping AOP (AOP简介、动态代理、基于“代理类”的AOP实现)
目录: 1.Spring AOP简介1.1 AOP简介1.2 AOP术语 2.动态代理2.1 JDK动态代理2.2 CGLIB代理 3.基于“代理类”的AOP实现3.1 Spring的通知类型3.2 ProxyFactoryBean ( 可通知.xml配置文件完成aop功能 ) 1.Spring AOP简介 1.1 AOP简介 Spring的AOP模块,是Spring框架体系…...
StarRocks 生成列:百倍提速半结构化数据分析
半结构化分析主要是指对 MAP,STRUCT,JSON,ARRAY 等复杂数据类型的查询分析。这些数据类型表达能力强,因此被广泛应用到 OLAP 分析的各种场景中,但由于其实现的复杂性,对这些复杂类型分析将会比一般简单类型…...
数据结构---数组
一、基本概念 1. 存放一组相同数据类型的集合 2.在内存中,分配连续的空间,数组创建时要指定大小 3. 定义 数据类型 [] 数组名 // 1.定义一个数组,里面的元素包含10, 20, 24, 17, 35, 58, 45, 74 int arr[] {10, 20, 24, 17, 35, 58, 45, 74}; 4. 获取数组的长度 int lengt…...
知识笔记(八十四)———链式语句中fetchSql和force和bind用法
fetchSql: fetchSql用于直接返回SQL而不是执行查询,适用于任何的CURD操作方法。 例如: $result Db::table(think_user)->fetchSql(true)->find(1);输出result结果为: SELECT * FROM think_user where id 1 force&#…...
为什么要用B+树
B树的优势 支持范围查询:B树在进行范围查询时,只需要从根节点一直遍历到叶子节点,因为数据都存储在叶子节点上,而且叶子节点之间有指针连接,可以很方便的进行范围查询 支持排序:B树的叶子节点按照关键字顺…...
Android 通过adb命令查看应用流量
一. 获取应用pid号 通过adb shell ps -A | grep 包名 来获取app的 pid号 二. 查看应用流量情况 使用adb shell cat /proc/#pid#/net/dev 命令 来获取流量数据 备注: Recevice: 表示收包 Transmit: 表示发包 bytes: 表示收发的字节数 packets: 表示收发正确的…...
AI 高性能笔记本电脑高效紧凑型功率 MOSFET 完整选型方案
随着 AI 算力在笔记本电脑中的爆发式增长(如本地大模型、智能温控、性能调度),电源架构对功率 MOSFET 提出严苛要求:超高电流密度、极低损耗、超小封装、逻辑电平驱动。微碧半导体(VBsemi)基于先进的 Trenc…...
别再手动改端口了!用这个OrCAD小补丁,3分钟搞定原理图端口标准化
告别混乱设计:OrCAD端口标准化高效解决方案 在复杂的电子设计项目中,原理图的整洁与规范程度直接影响着团队协作效率和后期维护成本。当多位工程师共同参与同一项目时,端口类型和朝向的不统一往往成为困扰PCB设计团队的常见问题。这种看似微小…...
测试工程师必知的10个Linux命令:提升工作效率的利器
在软件测试领域,Linux系统是绕不开的重要工具。绝大多数应用后台都部署在Linux服务器上,从环境搭建、日志分析到性能监控,熟练掌握Linux命令能让测试工程师的工作效率大幅提升。不同职级的测试工程师对Linux的需求各有侧重:初级工…...
【LLM推理加速】Lookahead:无损加速新范式,如何用Trie树与多分支策略突破IO瓶颈
1. 为什么我们需要无损推理加速? 大语言模型在实际应用中面临的最大痛点之一就是推理速度慢。想象一下,当你向AI助手提问时,每次等待回复都要花上好几秒,这种体验有多糟糕。传统的加速方法比如量化(把模型参数从16位压…...
别再只会F10/F11了!Qt Creator调试实战:用条件断点和数据断点精准定位UI卡顿
Qt Creator高级调试实战:用条件断点和数据断点精准解决UI卡顿问题 在开发数据密集型Qt应用程序时,最令人头疼的莫过于那些难以复现的UI卡顿问题。当用户抱怨"点击按钮后界面会冻结几秒"时,传统的逐行调试(F10/F11)往往如同大海捞针…...
Vue3后台管理系统终极指南:V3 Admin Vite 5.0全面解析
Vue3后台管理系统终极指南:V3 Admin Vite 5.0全面解析 【免费下载链接】v3-admin-vite ☀️ A crafted Vue3 admin template | Vue Admin | Vue Template | Vue3 Admin | Vue3 Template | Vue 后台 | Vue 模板 | Vue3 后台 | Vue3 模板 项目地址: https://gitcode…...
从一块烧坏的板子说起:PCB电源平面设计中最容易被忽略的‘路径’与‘形状’陷阱
从一块烧坏的板子说起:PCB电源平面设计中最容易被忽略的‘路径’与‘形状’陷阱 那块烧焦的PCB板至今仍躺在我的抽屉里——12V电源轨上清晰的碳化痕迹,像一道闪电劈开了整个设计团队的自信。当客户退回第三批故障设备时,我们才意识到…...
从地图导航到网络路由:深入理解Floyd-Warshall算法的动态规划内核与空间优化技巧
从地图导航到网络路由:深入理解Floyd-Warshall算法的动态规划内核与空间优化技巧 当我们使用地图导航寻找两点间最快路线时,或在数据中心配置网络路由协议时,背后可能都在运行一个经典的图论算法——Floyd-Warshall。这个诞生于1962年的算法以…...
模力方舟与口袋龙虾:开源中国的AI云端与端侧协同生态解析
本文解析开源中国通过“模力方舟”与“口袋龙虾”平台构建的AI协同生态。该生态旨在解决AI开发与落地中的资源分散与端侧部署难题,为开发者、企业及终端用户提供从云端资源调用到边缘智能部署的一站式通路。核心结论是,这种“云-边-端”协同模式降低了技…...
能力本位招聘:打破学历地域限制,聚焦实战技能与远程协作
1. 项目概述:一次非典型的团队组建实验最近,我身边不少朋友和读者都在讨论一个挺有意思的招聘启事,标题就是“朱老师研发团队招人了!学历学校不限,地域不限!”。这和我们平时在招聘网站上看到的那些要求“9…...
