黑马商城怎么解决docker内存不足问题以及容器端口访问失败
由于本人要在hmall这个项目的虚拟机的内存容量只有3GB导致,写完search-service模块后,还没意识到我的内存不足了。在后续的自开发Agent-service启动所有要用容器总是出现如下情况:
在AI的时候总是没有根本性的解决这个问题。
输入:
docker stats --no-stream查看我的内存占用情况发现:
es在只导入1万条doc后就已经无法在导入了全部item有8万多条。
直接增加虚拟机内存不仅能实现全数据的导入还能防止docker挂掉。
1、先挂起虚拟机:
2、
修改内存大小到合适的容量就可以了。
还是不行那就是启动顺序的问题:
我自己创建了一个启动脚本:
问题:忽略了nacos需要mysql。
如果 Nacos 配置了数据库但没有正确的环境变量,或者数据库没起来,Nacos 就会启动失败。
因此我们在对容器服务进行启动时要注意启动顺序。
下面是我的新启动脚本:
#!/bin/bash echo "===== 开始启动所有服务 =====" # 1. 先启动 MySQL echo "启动 MySQL..." docker start mysql sleep 10 # 等待 MySQL 完全初始化 # 2. 再启动 Nacos(依赖 MySQL) echo "启动 Nacos..." docker start nacos sleep 30 # 等待 Nacos 完全启动(内存模式约 20-30 秒) # 3. 启动其他不依赖 Nacos 的服务(可以并行) echo "启动 ES, Kibana, MQ..." docker start es kibana mq # 4. 最后启动 Seata(依赖 Nacos) echo "启动 Seata..." docker start seata echo "===== 所有容器启动完成 =====" docker ps -a
