美文网首页
Docker安装Nacos

Docker安装Nacos

作者: JBryan | 来源:发表于2021-04-28 21:10 被阅读0次

    1. docker拉取镜像

    [root@instance-dlypu09q ~]# docker pull nacos/nacos-server
    Using default tag: latest
    Trying to pull repository docker.io/nacos/nacos-server ... 
    latest: Pulling from docker.io/nacos/nacos-server
    5ad559c5ae16: Pull complete 
    ed85ad9d6753: Pull complete 
    d3cb981f2f34: Pull complete 
    d633be2a879d: Pull complete 
    e02b57654ea0: Pull complete 
    b67c8ad0a0df: Pull complete 
    252cfbcd70b4: Pull complete 
    bbeb883648d7: Pull complete 
    869c045f1c16: Pull complete 
    66787a1b91fe: Pull complete 
    3afbcb31f08c: Pull complete 
    Digest: sha256:c45e1f0440109b2f4bd0a1f38e1207e4c63008cea68d76b3e62946c3df42d385
    Status: Downloaded newer image for docker.io/nacos/nacos-server:latest
    

    2. 启动nacos

    [root@instance-dlypu09q ~]# docker run --env MODE=standalone --name ppnu-nacos -d -p 8848:8848  nacos/nacos-server
    5e40d79cc5d94b417af681da292fd33c8c5b294450141b50abd502eaa55bdd03
    [root@instance-dlypu09q ~]#
    

    3. 访问

    访问http://你的ip:8848/nacos,如果是云服务器部署的话,记得开放安全组,用户名和密码默认都是nacos,即可进入nacos界面。


    nacos.jpg

    4. 配置MySQL持久化

    新建数据库nacos_config,并执行下面建表语句:

    # ************************************************************
    # Sequel Pro SQL dump
    # Version 4541
    #
    # http://www.sequelpro.com/
    # https://github.com/sequelpro/sequelpro
    #
    # Host: 112.74.55.160 (MySQL 5.7.32)
    # Database: nacos_config
    # Generation Time: 2021-02-22 11:02:24 +0000
    # ************************************************************
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    
    
    # Dump of table config_info
    # ------------------------------------------------------------
    
    CREATE TABLE `config_info` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
      `group_id` varchar(255) COLLATE utf8_bin DEFAULT NULL,
      `content` longtext COLLATE utf8_bin NOT NULL COMMENT 'content',
      `md5` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT 'md5',
      `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
      `src_user` text COLLATE utf8_bin COMMENT 'source user',
      `src_ip` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT 'source ip',
      `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL,
      `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT '租户字段',
      `c_desc` varchar(256) COLLATE utf8_bin DEFAULT NULL,
      `c_use` varchar(64) COLLATE utf8_bin DEFAULT NULL,
      `effect` varchar(64) COLLATE utf8_bin DEFAULT NULL,
      `type` varchar(64) COLLATE utf8_bin DEFAULT NULL,
      `c_schema` text COLLATE utf8_bin,
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
    
    
    
    # Dump of table config_info_aggr
    # ------------------------------------------------------------
    
    CREATE TABLE `config_info_aggr` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
      `group_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
      `datum_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'datum_id',
      `content` longtext COLLATE utf8_bin NOT NULL COMMENT '内容',
      `gmt_modified` datetime NOT NULL COMMENT '修改时间',
      `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL,
      `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT '租户字段',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
    
    
    
    # Dump of table config_info_beta
    # ------------------------------------------------------------
    
    CREATE TABLE `config_info_beta` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
      `group_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
      `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'app_name',
      `content` longtext COLLATE utf8_bin NOT NULL COMMENT 'content',
      `beta_ips` varchar(1024) COLLATE utf8_bin DEFAULT NULL COMMENT 'betaIps',
      `md5` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT 'md5',
      `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
      `src_user` text COLLATE utf8_bin COMMENT 'source user',
      `src_ip` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT 'source ip',
      `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT '租户字段',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
    
    
    
    # Dump of table config_info_tag
    # ------------------------------------------------------------
    
    CREATE TABLE `config_info_tag` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
      `group_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
      `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT 'tenant_id',
      `tag_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'tag_id',
      `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'app_name',
      `content` longtext COLLATE utf8_bin NOT NULL COMMENT 'content',
      `md5` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT 'md5',
      `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
      `src_user` text COLLATE utf8_bin COMMENT 'source user',
      `src_ip` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT 'source ip',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
    
    
    
    # Dump of table config_tags_relation
    # ------------------------------------------------------------
    
    CREATE TABLE `config_tags_relation` (
      `id` bigint(20) NOT NULL COMMENT 'id',
      `tag_name` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'tag_name',
      `tag_type` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'tag_type',
      `data_id` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'data_id',
      `group_id` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'group_id',
      `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT 'tenant_id',
      `nid` bigint(20) NOT NULL AUTO_INCREMENT,
      PRIMARY KEY (`nid`),
      UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
      KEY `idx_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
    
    
    
    # Dump of table group_capacity
    # ------------------------------------------------------------
    
    CREATE TABLE `group_capacity` (
      `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
      `group_id` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
      `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
      `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
      `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
      `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
      `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
      `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
      `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_group_id` (`group_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
    
    
    
    # Dump of table his_config_info
    # ------------------------------------------------------------
    
    CREATE TABLE `his_config_info` (
      `id` bigint(64) unsigned NOT NULL,
      `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
      `data_id` varchar(255) COLLATE utf8_bin NOT NULL,
      `group_id` varchar(128) COLLATE utf8_bin NOT NULL,
      `app_name` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'app_name',
      `content` longtext COLLATE utf8_bin NOT NULL,
      `md5` varchar(32) COLLATE utf8_bin DEFAULT NULL,
      `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `src_user` text COLLATE utf8_bin,
      `src_ip` varchar(20) COLLATE utf8_bin DEFAULT NULL,
      `op_type` char(10) COLLATE utf8_bin DEFAULT NULL,
      `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT '租户字段',
      PRIMARY KEY (`nid`),
      KEY `idx_gmt_create` (`gmt_create`),
      KEY `idx_gmt_modified` (`gmt_modified`),
      KEY `idx_did` (`data_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
    
    
    
    # Dump of table permissions
    # ------------------------------------------------------------
    
    CREATE TABLE `permissions` (
      `role` varchar(50) NOT NULL,
      `resource` varchar(255) NOT NULL,
      `action` varchar(8) NOT NULL,
      UNIQUE KEY `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    
    
    # Dump of table roles
    # ------------------------------------------------------------
    
    CREATE TABLE `roles` (
      `username` varchar(50) NOT NULL,
      `role` varchar(50) NOT NULL,
      UNIQUE KEY `idx_user_role` (`username`,`role`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    
    
    # Dump of table tenant_capacity
    # ------------------------------------------------------------
    
    CREATE TABLE `tenant_capacity` (
      `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
      `tenant_id` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Tenant ID',
      `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
      `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
      `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
      `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
      `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
      `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
      `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
    
    
    
    # Dump of table tenant_info
    # ------------------------------------------------------------
    
    CREATE TABLE `tenant_info` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
      `kp` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'kp',
      `tenant_id` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT 'tenant_id',
      `tenant_name` varchar(128) COLLATE utf8_bin DEFAULT '' COMMENT 'tenant_name',
      `tenant_desc` varchar(256) COLLATE utf8_bin DEFAULT NULL COMMENT 'tenant_desc',
      `create_source` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT 'create_source',
      `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
      `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
      KEY `idx_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
    
    
    
    # Dump of table users
    # ------------------------------------------------------------
    
    CREATE TABLE `users` (
      `username` varchar(50) NOT NULL,
      `password` varchar(500) NOT NULL,
      `enabled` tinyint(1) NOT NULL,
      PRIMARY KEY (`username`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
    /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    

    插入nacos用户数据:

    INSERT INTO `users` (`username`, `password`, `enabled`)
    VALUES
        ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', 1);
    

    停止并删除nocos容器

    [root@instance-dlypu09q ~]# docker ps
    CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                               NAMES
    5e40d79cc5d9        nacos/nacos-server   "bin/docker-startu..."   16 hours ago        Up 16 hours         0.0.0.0:8848->8848/tcp              ppnu-nacos
    [root@instance-dlypu09q ~]# docker stop 5e40d79cc5d9
    5e40d79cc5d9
    [root@instance-dlypu09q ~]# docker rm 5e40d79cc5d9
    

    启动nacos

    docker run -d \
    -e MODE=standalone \
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    -e MYSQL_SERVICE_HOST=换成自己的ip \
    -e MYSQL_SERVICE_PORT=3306 \
    -e MYSQL_SERVICE_USER=root \
    -e MYSQL_SERVICE_PASSWORD=数据库密码 \
    -e MYSQL_SERVICE_DB_NAME=nacos_config \
    -p 8848:8848 \
    --restart=always \
    --name nacos \
    nacos/nacos-server
    

    访问:http://你的ip:8848/nacos。
    点击配置列表右边的+号,新增一条配置信息,


    nacos2.png

    打开nacos_config数据库中config_info表,即可看到刚才保存的数据。


    nacos3.jpg

    相关文章

      网友评论

          本文标题:Docker安装Nacos

          本文链接:https://www.haomeiwen.com/subject/sjjbrltx.html