Docker運(yùn)行Nacos容器,過一會就報錯UnsatisfiedDependencyException
-
問題背景:
最近要上線一個項(xiàng)目,由于要使用Nacos作為服務(wù)注冊中心,為了方便,我就打算直接使用Docker部署Nacos,沒想到Nacos啟動沒一會就嗝屁了,然后使用
docker logs --tail 500 nacos
查看日志發(fā)現(xiàn)如下錯誤:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memoryMonitor' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-2.2.3.jar!/com/alibaba/nacos/config/server/monitor/MemoryMonitor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService': Unsatisfied dependency expressed through field 'dumpService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure : errCode: 102, errMsg: dataSource or tableName is null
-
問題原因
Nacos默認(rèn)啟動指令,默認(rèn)使用的堆內(nèi)存高達(dá)1G,由于我的服務(wù)器是免費(fèi)送的,內(nèi)存比較小,再加上我又下載了其它很多軟件,這就導(dǎo)致我的服務(wù)器承受不住,已啟動就直接掛了,
-
問題解決
通過執(zhí)行該命令,會創(chuàng)建一個名為 “nacost” 的 Docker 容器,并在其中運(yùn)行 Nacos 服務(wù)器。容器中的 Nacos 將以獨(dú)立模式運(yùn)行,使用 Derby 數(shù)據(jù)庫作為數(shù)據(jù)源平臺,并設(shè)置了一定的內(nèi)存限制。同時,Nacos 控制臺將通過主機(jī)的 8848 端口進(jìn)行訪問。
docker run --name nacos \ -e MODE=standalone \ -e PREFER_HOST_MODE=hostname \ -e SPRING_DATASOURCE_PLATFORM=derby \ -e JVM_XMS=256m \ -e JVM_XMX=256m \ -p 8848:8848 \ -d nacos/nacos-server
參數(shù)詳解:
-
docker run
:用于創(chuàng)建和運(yùn)行一個新的 Docker 容器。 - `–name nacos:為容器指定一個名稱,這里是 “nacos”。
-
-e PREFER_HOST_MODE=hostname
:設(shè)置環(huán)境變量PREFER_HOST_MODE
的值為 “hostname
”。這個環(huán)境變量用于配置 Nacos 在集群模式下的首選主機(jī)名解析方式,將其設(shè)置為 “hostname” 表示使用主機(jī)名進(jìn)行解析。 -
-e SPRING_DATASOURCE_PLATFORM=derby
:設(shè)置環(huán)境變量SPRING_DATASOURCE_PLATFORM
的值為 “derby”。這個環(huán)境變量用于配置 Nacos 使用 Derby 數(shù)據(jù)庫作為數(shù)據(jù)源平臺。 -
-e MODE=standalone
:設(shè)置環(huán)境變量MODE
的值為 “standalone”。這個環(huán)境變量用于配置 Nacos 運(yùn)行在獨(dú)立模式下。 -
-e JVM_XMS=256m
和-e JVM_XMX=256m
:分別設(shè)置環(huán)境變量JVM_XMS
和JVM_XMX
的內(nèi)存大小為 256MB。這些環(huán)境變量用于配置 Nacos 服務(wù)器的初始堆大小和最大堆大小。 -
-p 8848:8848
:將容器內(nèi)的端口 8848 映射到主機(jī)上的端口 8848,這樣可以在主機(jī)上通過http://localhost:8848
訪問 Nacos 控制臺。 -
-d
:以后臺(守護(hù)進(jìn)程)模式運(yùn)行容器。 -
nacos/nacos-server
:指定要使用的 Nacos 服務(wù)器的 Docker 鏡像。
-
然后訪問http://服務(wù)器IP:8848/nacos/
即可看到Nacos客戶端頁面了
文章來源:http://www.zghlxwxcb.cn/news/detail-744029.html
參考文章:文章來源地址http://www.zghlxwxcb.cn/news/detail-744029.html
- Docker部署Nacos方案,Docker部署Nacos啟動失敗解決方案 - 掘金 (juejin.cn)
到了這里,關(guān)于Docker運(yùn)行Nacos容器,過一會就報錯`UnsatisfiedDependencyException`的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!