Nacos源码打包,并构建docker镜像运行容器
nacos界面定制化中定制了一些nacos界面功能,所以需要将nacos源码备份、打包并构建成docker镜像推送到公司的镜像仓库中。
一、源码打包
在nacos根目录下执行maven命令:mvn -Prelease-nacos -DskipTests clean install -U
命令执行成功后,可以在distribution下看到:
将nacos-server-1.3.0.tar.gz拷贝到服务器一个目录下,并用tar解压:
编写Dockerfile:
接着在该目录下执行构建命令:docker build -t cbs-nacos:latest .
等待镜像构建:
docker启动:
docker run -d -e MODE=standalone --net=bridge -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=192.168.103.243 -e MYSQL_SERVICE_PORT=13126 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=q!W#3e4r123456
-e MYSQL_SERVICE_DB_NAME=cbs_nacos -p 8848:8848 --restart=always --name cbs-nacos -v /data/docker_data/nacos/logs/:/home/nacos/logs --privileged=true cbs-nacos:latest
参数说明:
name description option
MODE cluster模式/standalone模式 cluster/standalone default cluster
NACOS_SERVERS nacos cluster地址 eg. ip1,ip2,ip3
PREFER_HOST_MODE 是否支持hostname hostname/ip default ip
NACOS_SERVER_PORT nacos服务器端口 default 8848
NACOS_SERVER_IP 多网卡下的自定义nacos服务器IP
SPRING_DATASOURCE_PLATFORM standalone 支持 mysql mysql / empty default empty
MYSQL_MASTER_SERVICE_HOST mysql 主节点host
MYSQL_MASTER_SERVICE_PORT mysql 主节点端口 default : 3306
MYSQL_MASTER_SERVICE_DB_NAME mysql 主节点数据库
MYSQL_MASTER_SERVICE_USER 数据库用户名
MYSQL_MASTER_SERVICE_PASSWORD 数据库密码
MYSQL_SLAVE_SERVICE_HOST mysql从节点host
MYSQL_SLAVE_SERVICE_PORT mysql从节点端口 default :3306
MYSQL_DATABASE_NUM 数据库数量 default :2
JVM_XMS -Xms default :2g
JVM_XMX -Xmx default :2g
JVM_XMN -Xmn default :1g
JVM_MS -XX:MetaspaceSize default :128m
JVM_MMS -XX:MaxMetaspaceSize default :320m
NACOS_DEBUG 开启远程调试 y/n default :n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled default :false
二、创建数据库与表结构
创建数据库:与启动镜像命令中的数据库名称保持一致
创建表结构:
/*****************************************/
/ 数据库全名 = nacos_config /
/ 表名称 = config_info /
/*****************************************/
CREATE TABLE config_info
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘id’,
data_id
varchar(255) NOT NULL COMMENT ‘data_id’,
group_id
varchar(255) DEFAULT NULL,
co