docker安裝nacos-單機


一、下載鏡像

# 查找鏡像
docker search nacos  # nacos/nacos-server

# 下載鏡像 https://hub.docker.com/ docker 官方搜索查看有哪些 nacos 鏡像版本
docker pull nacos/nacos-server:v2.0.3

# 查看已下載鏡像
docker images

 

二、數據庫配置

數據庫文件下載

碼雲:distribution/conf/nacos-mysql.sql · Gitee 極速下載/Nacos - 碼雲 - 開源中國

 

相關配置

# 建庫
create database nacos;
use nacos;

-- 執行或者導入 nacos-db.sql,不知道為什么這個文件里的注釋還寫了 【數據庫全名 = nacos_config】
-- 可以直接復制粘貼到 navicat 或 sqlyog 上執行,200多行不是很長

# 創建 nacos 單獨使用的一個用戶,也可以直接把 root 用戶給他
create user 'nacos'@'%' IDENTIFIED BY 'nacos';
-- 庫nacos的所有表的執行存儲過程、CRUD權限
grant execute, insert, select, update on nacos.* to 'nacos'@'%';
-- 刷新權限
FLUSH PRIVILEGES;


-- 查看權限
show grants for nacos;

 

 

三、創建相關目錄

# 創建 nacos 日志存放目錄
mkdir -p /home/docker/nacos/logs

# 創建 nacos 配置文件目錄
mkdir -p /home/docker/nacos/init.d

 

配置文件

vim /home/docker/nacos/init.d/custom.properties

配置文件內容

其實下面的配置應該可以下載一個nacos安裝包, 然后它也自帶配置文件, 應該是可以參考他的。我這里寫的配置就是若使用安裝包進行安裝時需要修改的配置,也就是我理解的其他配置就是默認的,我們這里的配置可以覆蓋那些配置

數據庫的url自行處理,比如ip端口、庫名等

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.33.100:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=true&serverTimezone=Asia/Shanghai
db.user.0=nacos
db.password.0=nacos

 

 

四、創建容器並啟動

docker run \
    --name nacos \
    -d \
    -p 8848:8848 \
    -p 9848:9848 \
    -p 9849:9848 \
    --restart=always \
    -e JVM_XMS=256m \
    -e JVM_XMX=256m \
    -e MODE=standalone \
    -v /home/docker/nacos/logs:/home/nacos/logs \
    -v /home/docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
    nacos/nacos-server:v2.0.3

 

 

 

查看啟動日志

docker logs nacos

 

訪問

ip:port/nacos

用戶名和密碼默認都是 nacos,就是上面我們執行的那個sql文件中最后插入的

 

如果出現連接數據庫的錯誤,也就是 DataSource 數據源的錯誤,可能是 custom.properties 中的 db.url 的超時時間較短的問題(我在公司的電腦不知道為什么連接數據庫就很慢)

 

 

五、docker-compose

docker-compose.yml

version: '3'
 
services:
  nacos-2.0.3:
    # 鏡像名
    image: nacos/nacos-server:v2.0.3
    # 容器名(以后的控制都通過這個)
    container_name: nacos-2.0.3
    # 重啟策略
    restart: always
    env_file:
      - ./nacos-standlone-mysql.env
    # 映射端口
    ports:
      - 8848:8848
      - 9848:9848
      - 9849:9848
    volumes:
      # 日志掛載
      - ./logs/:/home/nacos/logs/
      # 配置掛載
      # - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
      # 系統時區信息和本地一致(任何Linux容器都是這樣嗎)
      - /etc/localtime:/etc/localtime:ro
    networks:
      - demo_net
    cap_add:
        # 這樣才能使用 JDK 的工具 jstack 等
        - SYS_PTRACE

networks:
  demo_net: 
    external: true # 來自外部

 

nacos-standlone-mysql.env

# 直譯:首選主機模式
PREFER_HOST_MODE=hostname
# 使用模式單機模式
MODE=standalone
# 直譯過來是spring數據源平台(由於我們用的是mysql所以不用改)
SPRING_DATASOURCE_PLATFORM=mysql
# mysql鏈接參數
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&allowPublicKeyRetrieval=true&queryTimeout=2400&serverTimezone=Asia/Shanghai
# mysql鏈接地址(注:ip地址可以寫容器名)
MYSQL_SERVICE_HOST=mysql8
# mysql數據庫名
MYSQL_SERVICE_DB_NAME=nacos
# mysql端口
MYSQL_SERVICE_PORT=3306
# mysql用戶名
MYSQL_SERVICE_USER=root
# mysql密碼
MYSQL_SERVICE_PASSWORD=root
# jvm優化參數
JVM_XMS=256m
JVM_XMX=256m
JVM_XMN=128m

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM