以下是使用 Docker 拉取并運行?Nacos(阿里巴巴開源的配置中心和服務發現組件)鏡像的詳細指南:
1.?拉取 Nacos 官方鏡像
拉取最新版 Nacos 鏡像(推薦指定版本以避免兼容性問題):
# 拉取最新版本(可能為 2.x 系列)
docker pull nacos/nacos-server# 或指定版本(例如 3.0.1)
docker pull nacos/nacos-server:3.0.1
2.?運行 Nacos 容器
單機模式(開發測試)
docker run \--name nacos-standalone -d -p 8080:8080 \-e NACOS_AUTH_TOKEN=$(openssl rand -base64 128 | tr -d '\n' | tr -d '/') \-e NACOS_AUTH_IDENTITY_KEY=nacos \-e NACOS_AUTH_IDENTITY_VALUE=nacos \-e NACOS_AUTH_ENABLE=false \-e MODE=standalone \nacos/nacos-server:v3.0.1-slim
運行鏡像(開啟鑒權):
docker run \--name nacos-standalone -d -p 8080:8080 \-e NACOS_AUTH_ENABLE=true \-e MODE=standalone \-e NACOS_AUTH_TOKEN=BladeKey012345678901234567890123456789012345678901234567890123456789 \-e NACOS_AUTH_IDENTITY_KEY=nacos \-e NACOS_AUTH_IDENTITY_VALUE=nacos \-e NACOS_AUTH_CACHE_ENABLE=true \nacos/nacos-server:v3.0.1-slim
參數說明:
- -e MODE=standalone:單機模式運行(默認集群模式需額外配置)。設置 Nacos 為單機模式。
- -p 8848:8848:映射 Nacos 控制臺端口。
- -p 9848:9848:Nacos 3.x 使用 gRPC 通信,需開放此端口。
- -p 9849:9849:Nacos 的 gRPC 端口,用于集群通信。
- -e NACOS_AUTH_ENABLE=false :禁用 Nacos 的認證功能。
3.?連接外部數據庫(需配置)
默認使用嵌入式數據庫 Derby,生產環境建議切換為 MySQL:
步驟:
- 創建 MySQL 數據庫:
CREATE DATABASE nacos_config CHARACTER SET utf8mb4;
- 執行 Nacos SQL 腳本:
下載腳本:
導入數據庫:
mysql -u root -p nacos_config < nacos-mysql.sql
運行容器時指定 MySQL 配置:
docker run -d \--name my-nacos \-e MODE=standalone \-e SPRING_DATASOURCE_PLATFORM=mysql \-e MYSQL_SERVICE_HOST=your_mysql_host \-e MYSQL_SERVICE_PORT=3306 \-e MYSQL_SERVICE_DB_NAME=nacos_config \-e MYSQL_SERVICE_USER=root \-e MYSQL_SERVICE_PASSWORD=your_mysql_password \-p 8848:8848 \-p 9848:9848 \-v nacos_data:/home/nacos/data \nacos/nacos-server:2.3.1
4.訪問 Nacos 控制臺
- 地址:http://localhost:8848/nacos
- 默認賬號/密碼:nacos/nacos
5.?常見問題解決
端口沖突:
- 若宿主機 8848 或 9848 端口被占用,可修改映射端口:
-p 8858:8848 \
-p 9858:9848 \
容器啟動失敗:
- 檢查日志定位問題:
docker logs nacos-standalone
數據持久化失敗:
- 確保掛載的卷(nacos_data)有寫入權限,或改用綁定掛載:
-v /path/on/host:/home/nacos/data \
6.?生產環境建議
- 集群部署:
- 修改MODE=cluster?并配置多節點。
- 需額外同步集群節點 IP 和端口。
- 安全加固:
修改默認密碼,配置鑒權(需 Nacos 2.2.0+):
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_TOKEN=your_secret_key \
3.資源限制:
限制容器內存和 CPU:
--memory 2g --cpus 2
7.?版本選擇
- 穩定版:推薦?2.2.3?或?2.3.0(長期支持版本)。
- 最新版:適合測試新特性(謹慎用于生產)。
通過以上步驟,你可以快速在 Docker 中部署 Nacos 服務。如需更多配置,請參考?Nacos 官方文檔。