最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker部署Nacos并接入SpringBoot服務(wù)完整流程

 更新時(shí)間:2026年03月02日 09:12:33   作者:剽悍一小兔  
本次實(shí)踐圍繞 Docker 部署穩(wěn)定可用的 Nacos 服務(wù)、開啟登錄鑒權(quán)、開放 gRPC 端口,并實(shí)現(xiàn) SpringBoot 服務(wù)注冊(cè)到 Nacos 展開,解決了版本兼容、鑒權(quán)配置、端口通信等核心問題,需要的朋友可以參考下

引言

本次實(shí)踐圍繞 Docker 部署穩(wěn)定可用的 Nacos 服務(wù)、開啟登錄鑒權(quán)、開放 gRPC 端口,并實(shí)現(xiàn) SpringBoot 服務(wù)注冊(cè)到 Nacos 展開,解決了版本兼容、鑒權(quán)配置、端口通信等核心問題,最終達(dá)成服務(wù)穩(wěn)定運(yùn)行與注冊(cè)的目標(biāo),現(xiàn)將全流程總結(jié)如下:

一、核心選型:選擇低版本 Nacos 規(guī)避鑒權(quán)坑

Nacos 3.1.x 版本鑒權(quán)邏輯改動(dòng)大且兼容性問題多,2.2.x 版本鑒權(quán)配置復(fù)雜(需滿足 Base64 密鑰≥32 字節(jié)等嚴(yán)苛要求),最終選擇 Nacos 2.0.4 版本(生產(chǎn)環(huán)境經(jīng)典穩(wěn)定版):

  • 鑒權(quán)配置極簡(jiǎn),僅需 1 行參數(shù)即可開啟登錄;
  • 單機(jī)模式下無多余集群選舉警告,啟動(dòng)穩(wěn)定;
  • 與 SpringCloud 2021.0.5 版本高度兼容,適配 SpringBoot 2.7.x。

二、Docker 部署 Nacos 完整步驟

1. 基礎(chǔ)目錄準(zhǔn)備

mkdir -p /opt/nacos/logs  # 掛載日志目錄,方便后續(xù)排查問題
cd /opt/nacos

2. 編寫 docker-compose.yml(帶登錄鑒權(quán))

services:
  nacos:
    image: nacos/nacos-server:v2.0.4
    container_name: nacos
    restart: always
    # 映射核心端口:8848(主端口)、9848/9849(gRPC 通信端口)
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9849:9849"
    environment:
      - MODE=standalone  # 單機(jī)模式(核心,避免集群選舉警告)
      - JVM_XMS=256m     # 內(nèi)存配置,避免內(nèi)存不足啟動(dòng)失敗
      - JVM_XMX=256m
      - NACOS_AUTH_ENABLE=true  # 開啟登錄鑒權(quán)(默認(rèn)賬號(hào)/密碼:nacos/nacos)
    volumes:
      - /opt/nacos/logs:/home/nacos/logs  # 掛載日志目錄,宿主機(jī)可直接查看

3. 啟動(dòng) Nacos 容器

# 啟動(dòng)容器
docker-compose up -d
# 驗(yàn)證啟動(dòng)狀態(tài)(顯示 Up 即為成功)
docker-compose ps
# 查看啟動(dòng)日志(確認(rèn)無報(bào)錯(cuò))
docker-compose logs -f nacos

三、關(guān)鍵配置:開啟登錄鑒權(quán)與端口永久開放

1. 登錄鑒權(quán)說明

Nacos 2.0.4 開啟鑒權(quán)僅需 NACOS_AUTH_ENABLE=true,無需復(fù)雜的密鑰配置:

  • 訪問控制臺(tái):http://服務(wù)器IP:8848/nacos
  • 默認(rèn)賬號(hào)/密碼:nacos/nacos;
  • 登錄后建議在「權(quán)限控制→用戶管理」修改默認(rèn)密碼,提升安全性。

2. 永久開放端口(防火墻+安全組)

Nacos 2.0+ 依賴 gRPC 協(xié)議(9848/9849 端口)實(shí)現(xiàn)服務(wù)注冊(cè)通信,需雙層放行

(1)服務(wù)器防火墻永久放行(以 CentOS 為例)

# 放行 8848/9848/9849 端口,--permanent 表示永久生效
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=9848/tcp --permanent
firewall-cmd --add-port=9849/tcp --permanent
# 重載防火墻規(guī)則使配置生效
firewall-cmd --reload
# 驗(yàn)證端口是否開放
firewall-cmd --list-ports | grep -E "8848|9848|9849"

(2)云服務(wù)器安全組放行(重中之重)

若為阿里云/騰訊云/華為云服務(wù)器,需在控制臺(tái)配置安全組:

  1. 進(jìn)入服務(wù)器「安全組」模塊,選擇目標(biāo)安全組;
  2. 新增入站規(guī)則:
    • 端口范圍:8848/8848、9848/9848、9849/9849(或合并為 8848-9849);
    • 協(xié)議:TCP;
    • 來源:測(cè)試環(huán)境可設(shè)為 0.0.0.0/0,生產(chǎn)環(huán)境建議限制為業(yè)務(wù)服務(wù)器 IP;
  3. 保存規(guī)則,約 1-2 分鐘生效。

四、SpringBoot 服務(wù)注冊(cè)到 Nacos 配置

1. 依賴配置(Maven)

需保證 SpringBoot、SpringCloud、SpringCloud Alibaba 版本兼容(以 SpringBoot 2.7.x 為例):

<!-- 版本管理(核心,避免依賴沖突) -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>2021.0.5</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2021.0.5.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<!-- Nacos 注冊(cè)中心 + 配置中心依賴 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2. 應(yīng)用配置(application.yml)

spring:
  application:
    name: user-manage  # 服務(wù)名,注冊(cè)到 Nacos 后顯示的名稱
  cloud:
    nacos:
      discovery:
        server-addr: 服務(wù)器IP:8848  # Nacos 地址(不要加 http://)
        username: nacos             # 登錄賬號(hào)(開啟鑒權(quán)必填)
        password: nacos             # 登錄密碼(開啟鑒權(quán)必填)
        group: DEFAULT_GROUP        # 默認(rèn)分組,可自定義
        namespace: public           # 默認(rèn)命名空間,可自定義
      config:
        server-addr: 服務(wù)器IP:8848  # 配置中心地址,與注冊(cè)中心一致
        username: nacos
        password: nacos
        file-extension: yaml        # 配置文件格式
server:
  port: 8080  # 應(yīng)用端口

3. 啟動(dòng)類開啟服務(wù)注冊(cè)

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

// 核心注解:開啟服務(wù)注冊(cè)發(fā)現(xiàn)
@EnableDiscoveryClient
@SpringBootApplication
public class UserApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }
}

五、驗(yàn)證與問題排查

1. 驗(yàn)證 Nacos 服務(wù)

  • 控制臺(tái)驗(yàn)證:訪問 http://服務(wù)器IP:8848/nacos,登錄后在「服務(wù)管理→服務(wù)列表」能看到 user-manage 服務(wù),狀態(tài)為「健康」;
  • 端口驗(yàn)證:本地執(zhí)行 telnet 服務(wù)器IP 9848curl -v telnet://服務(wù)器IP:9848,無「Connection refused」即為端口通。

2. 常見問題排查

問題現(xiàn)象核心原因解決方案
Client not connected, current status:STARTINGgRPC 端口未開放/配置地址加了 http://1. 放行 9848/9849 端口;2. 配置中去掉 http://
鑒權(quán)失敗/登錄報(bào)錯(cuò)賬號(hào)密碼錯(cuò)誤/鑒權(quán)參數(shù)缺失確認(rèn) username/password 與 Nacos 一致,Nacos 2.0.4 僅需開啟 NACOS_AUTH_ENABLE=true
服務(wù)列表看不到但項(xiàng)目不報(bào)錯(cuò)應(yīng)用名未配置/命名空間不匹配確保 spring.application.name 非空,namespace 與 Nacos 一致
依賴沖突報(bào)錯(cuò)SpringCloud 與 Nacos 版本不兼容嚴(yán)格匹配 SpringCloud 2021.0.5 + SpringCloud Alibaba 2021.0.5.0

六、運(yùn)維優(yōu)化建議

  1. 日志管理:Nacos 日志掛載在 /opt/nacos/logs,定期清理超大日志(如 nacos.log),避免磁盤占滿;
  2. 鏡像清理:部署完成后清理多余 Nacos 鏡像,僅保留 2.0.4 版本:
docker rmi $(docker images | grep nacos/nacos-server | grep -v "v2.0.4" | awk '{print $3}')
  1. 持久化配置:若需將 Nacos 配置持久化到 MySQL,可在 docker-compose.yml 中新增數(shù)據(jù)庫連接參數(shù)(適用于生產(chǎn)環(huán)境);
  2. 端口安全:生產(chǎn)環(huán)境不建議將 8848/9848/9849 開放給所有 IP,僅放行業(yè)務(wù)服務(wù)器/辦公網(wǎng) IP。

總結(jié)

本次實(shí)踐核心是「選對(duì)版本+極簡(jiǎn)配置+端口放行」:

  1. 版本選擇上,Nacos 2.0.4 是兼顧穩(wěn)定性與易用性的最優(yōu)解,規(guī)避了高版本鑒權(quán)、集群選舉等坑;
  2. 部署配置上,僅保留單機(jī)模式、登錄鑒權(quán)核心參數(shù),避免冗余配置引發(fā)的兼容問題;
  3. 通信保障上,完整放行 8848(主端口)、9848/9849(gRPC 端口),確保 SpringBoot 服務(wù)能正常注冊(cè);
  4. 版本兼容上,嚴(yán)格匹配 SpringCloud 與 Nacos 依賴版本,從根源解決連接、啟動(dòng)失敗問題。

最終實(shí)現(xiàn)了 Nacos 穩(wěn)定部署、登錄鑒權(quán)生效、SpringBoot 服務(wù)無縫注冊(cè)的目標(biāo),滿足開發(fā)/生產(chǎn)環(huán)境的基礎(chǔ)使用需求。

以上就是Docker部署Nacos并接入SpringBoot服務(wù)完整流程的詳細(xì)內(nèi)容,更多關(guān)于Docker部署Nacos并接入SpringBoot的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker下安裝Elasticsearch設(shè)置賬號(hào)密碼的步驟記錄

    docker下安裝Elasticsearch設(shè)置賬號(hào)密碼的步驟記錄

    這篇文章主要介紹了docker下安裝Elasticsearch設(shè)置賬號(hào)密碼的步驟,包括拉取鏡像、創(chuàng)建配置文件和用戶密碼文件、掛載文件到容器、使用Kibana或API創(chuàng)建用戶、驗(yàn)證配置、以及持久化數(shù)據(jù)和日志,需要的朋友可以參考下
    2025-04-04
  • Docker部署Graylog日志管理系統(tǒng)

    Docker部署Graylog日志管理系統(tǒng)

    Graylog是一個(gè)開源的日志管理平臺(tái),支持強(qiáng)大的搜索功能,本文主要介紹了Docker部署Graylog日志管理系統(tǒng),具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • Ubuntu Docker安裝并使用的方法

    Ubuntu Docker安裝并使用的方法

    最近在學(xué)習(xí)docker,本文就從入門開始介紹Ubuntu Docker安裝并使用的方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • Docker啟動(dòng)MySQL報(bào)錯(cuò):/etc/mysql/conf.d目錄缺失的解決方案

    Docker啟動(dòng)MySQL報(bào)錯(cuò):/etc/mysql/conf.d目錄缺失的解決方案

    這篇文章主要介紹了MySQL容器啟動(dòng)失敗的原因及解決方法,MySQL在啟動(dòng)時(shí)會(huì)讀取/etc/mysql/conf.d/目錄下的配置文件,若該目錄不存在或未正確掛載,會(huì)導(dǎo)致初始化失敗,解決方法包括通過掛載目錄、使用Dockerfile創(chuàng)建目錄或臨時(shí)繞過檢查等,需要的朋友可以參考下
    2026-03-03
  • Docker環(huán)境搭建、阿里云鏡像加速、常用命令使用及說明

    Docker環(huán)境搭建、阿里云鏡像加速、常用命令使用及說明

    文章介紹了Docker的基本架構(gòu),包括容器、鏡像和倉庫的關(guān)系,詳細(xì)說明了在CentOS系統(tǒng)下Docker的安裝步驟,并講解了如何配置阿里云鏡像加速及常用的Docker命令操作
    2025-10-10
  • Docker部署RabbitMQ鏡像的保姆級(jí)教程

    Docker部署RabbitMQ鏡像的保姆級(jí)教程

    RabbitMQ?的鏡像隊(duì)列集群(Mirrored?Queues?Cluster)是實(shí)現(xiàn)高可用性的一種模式,它通過在集群中的多個(gè)節(jié)點(diǎn)之間復(fù)制隊(duì)列,確保消息在集群的某些節(jié)點(diǎn)宕機(jī)時(shí)不會(huì)丟失,本文介紹了Docker部署RabbitMQ鏡像的保姆級(jí)教程,需要的朋友可以參考下
    2024-12-12
  • Docker?存儲(chǔ)管理的幾種方式

    Docker?存儲(chǔ)管理的幾種方式

    本文主要使用三種不同的方式將數(shù)據(jù)從Docker主機(jī)掛載到容器中,分別為卷(volumes),綁定掛載(bind?mounts),臨時(shí)文件系tmpfs,還介紹了數(shù)據(jù)卷容器、數(shù)據(jù)卷的備份與恢復(fù),對(duì)Docker?存儲(chǔ)管理相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-07-07
  • Docker動(dòng)態(tài)給容器Container暴露端口操作

    Docker動(dòng)態(tài)給容器Container暴露端口操作

    這篇文章主要介紹了Docker動(dòng)態(tài)給容器Container暴露端口操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • IDEA通過Docker插件部署SpringBoot項(xiàng)目的過程詳解

    IDEA通過Docker插件部署SpringBoot項(xiàng)目的過程詳解

    在idea中如何通過Docker插件部署SpringBoot項(xiàng)目呢?很多朋友在配置過程中走了很多誤區(qū),今天小編給大家分享一篇教程關(guān)于IDEA通過Docker插件部署SpringBoot項(xiàng)目的過程,感興趣的朋友一起看看吧
    2021-11-11
  • docker基本命令及使用實(shí)例詳解

    docker基本命令及使用實(shí)例詳解

    這篇文章主要介紹了docker基本命令及使用實(shí)例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03

最新評(píng)論

当涂县| 弥勒县| 巴塘县| 天全县| 黔西县| 蒲城县| 林芝县| 衡东县| 江门市| 克什克腾旗| 沙坪坝区| 左权县| 宁陕县| 乌苏市| 封开县| 达拉特旗| 安塞县| 黄浦区| 青龙| 突泉县| 禹城市| 岚皋县| 承德县| 永胜县| 南皮县| 宝应县| 锦屏县| 清远市| 富民县| 元阳县| 沙洋县| 砀山县| 永泰县| 敦化市| 禹城市| 许昌市| 青海省| 辉南县| 永胜县| 安远县| 宝应县|