docker安装nacos单机

一、下载镜像

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

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

# 查看已下载镜像
docker images

二、数据库配置

数据库文件下载

码云:config/src/main/resources/META-INF/nacos-db.sql · Gitee 极速下载/Nacos - 码云 - 开源中国

github:nacos/nacos-db.sql at master · alibaba/nacos · GitHub

相关配置

# 建库
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 的超时时间较短的问题(我在公司的电脑不知道为什么连接数据库就很慢)

原文地址:https://www.cnblogs.com/chenxingyang/p/15780213.html