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: 表示收发正确的…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
