Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版

这篇具有很好参考价值的文章主要介绍了Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文基于Nacos2.1.2进行说明

在 Docker 镜像仓库查找 Nacos 镜像

DockerHub镜像仓库-nacos镜像

可以看到只有-slim版本有arm64版本,因此我们用v2.1.2-slim这个版本(笔者亲测v2.1.2的linux/amd64版本在M系列芯片上不可用,nacos启动会报错)。

Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版,docker,macos,容器

拉取镜像

注意版本是Tags前面有个v,不是2.1.2;Docker会根据CPU架构拉取对应的架构版本。

docker pull nacos/nacos-server:v2.1.2-slim

查看已拉取到本地的镜像

docker image ls

Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版,docker,macos,容器

启动容器

启动前准备

查看Nacos官方镜像说明(https://hub.docker.com/r/nacos/nacos-server)

Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版,docker,macos,容器

如果没有别的特殊要求,直接跑一下官方给的Quick Start命令即可启动容器(注意Tags改成自己需要的版本,9848端口也映射出来)。

但如果读者想用自己的MySQL,而不是Nacos内置的数据库,那么可以继续往下阅读↓

继续看官方镜像说明,可以看到提供了这些MySQL相关环境变量,以供用户自行配置MySQL

Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版,docker,macos,容器

简单说明一下一会儿需要用到的变量

环境变量名 描述 填写说明
MODE 部署模式:集群(cluster)或单机(standalone) 可选值:cluster(默认值)/standalone
SPRING_DATASOURCE_PLATFORM Spring数据源,单机模式支持MySQL 可选值:空值(默认)/mysql
MYSQL_SERVICE_HOST MySQL地址
MYSQL_SERVICE_PORT MySQL端口 默认值为3306
MYSQL_SERVICE_DB_NAME MySQL数据库名
MYSQL_SERVICE_USER MySQL用户名
MYSQL_SERVICE_PASSWORD MySQL用户密码
MYSQL_DATABASE_NUM 数据库数量 默认值为1
MYSQL_SERVICE_DB_PARAM MySQL连接参数 默认值为characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false

再看官方镜像说明的温馨提示,第三点说到,如果你要用自己的数据库,那么在nacos第一次启动前要先执行一遍数据库初始化SQL脚本(建表+初始化用户数据)。

Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版,docker,macos,容器

对于2.1.2版本,初始化SQL脚本的地址如下:https://github.com/alibaba/nacos/blob/2.1.2/distribution/conf/mysql-schema.sql

(注意:1.x版本的初始化SQL脚本名称不一样,以1.4.1为例:https://github.com/alibaba/nacos/blob/1.4.1/distribution/conf/nacos-mysql.sql)

2.1.2版本的mysql-schema.sql脚本内容如下:

/*
 * Copyright 1999-2018 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/******************************************/
/*   数据库全名 = 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,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) 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 COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  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';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) NOT NULL COMMENT 'group_id',
  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  `content` longtext NOT NULL COMMENT '内容',
  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) 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='增加租户字段';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) 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 COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `encrypted_data_key` text NOT NULL 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';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) 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 COMMENT 'source user',
  `src_ip` varchar(50) 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';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) 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';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` varchar(128) 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容量信息表';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` bigint(20) unsigned NOT NULL,
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` varchar(255) NOT NULL,
  `group_id` varchar(128) NOT NULL,
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL,
  `md5` varchar(32) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `src_user` text,
  `src_ip` varchar(50) DEFAULT NULL,
  `op_type` char(10) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `encrypted_data_key` text NOT NULL 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='多租户改造';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` varchar(128) 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='租户容量信息表';


CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) 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';

CREATE TABLE `users` (
	`username` varchar(50) NOT NULL PRIMARY KEY,
	`password` varchar(500) NOT NULL,
	`enabled` boolean NOT NULL
);

CREATE TABLE `roles` (
	`username` varchar(50) NOT NULL,
	`role` varchar(50) NOT NULL,
	UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);

CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);

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

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

所以接下来要做的事情是,在自己的MySQL新建一个名为nacos的库(名字随意,启动容器时保持一致即可),然后执行以上的初始化SQL脚本,看到表都建好就可以了。

Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版,docker,macos,容器

运行容器

docker run -p 8848:8848 -p 9848:9848 --name nacos \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.31.126 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-d nacos/nacos-server:v2.1.2-slim

参数说明:

  • docker run:运行Docker镜像
  • -p:映射端口号,宿主机端口映射到容器内部端口
  • --name nacos:设置容器名称为nacos
  • -e:配置环境变量。需要注意的是如果MySQL是本地启动的,要填宿主机IP而不能填127.0.0.1或localhost;数据库名称要填上一步骤初始化的数据库名称。
  • -d nacos/nacos-server:v2.1.2-slim:选择运行的Docker镜像并指定Tag(不指定的话默认是latest)

测试

浏览器访问http://127.0.0.1:8848/nacos

Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版,docker,macos,容器

初始用户名与密码均为nacos,登录成功可以看到以下界面,可以开始愉快的玩耍了~

Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版,docker,macos,容器文章来源地址https://www.toymoban.com/news/detail-755223.html

到了这里,关于Mac M系列芯片(M1/M2)Docker安装Nacos Server单机版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mac M1/M2/M3 芯片环境配置以及常用软件安装-前端

    最近换了台新 Mac ,所有的配置和软件就重新安装下,顺便写个文章。 1. 安装 Homebrew 安装 Homebrew 【 Mac 安装 Homebrew 】 通过国内镜像安装会比较快 安装 Git 后再运行此脚本,在系统弹窗中点击“安装”按钮 点击安装按钮,安装 Git 之后在重新运行此命令,即可安装 Homebrew 可以

    2024年02月04日
    浏览(124)
  • 苹果mac m1,m2芯片安装 pytorch和tensorflow的GPU版本

    1.安装 Xcode 2.创建环境 3.打开pytorch官网复制命令, 注意:在mac m上,device是’mps’ 而不是’cuda’, mac的MPS支持MacOS 12.3+  4.测试 1.安装 Xcode 2.创建环境 3. 安装conda install -c apple tensorflow-deps  4.Install base TensorFlow 5.  Install tensorflow-metal plug-in  6.验证 7.完成,附上我安装完pytorch和

    2024年02月13日
    浏览(58)
  • Mac M1/M2芯片电脑问题解决汇总

    旧的 mbp 用了7年多了,虽然还能使用,但是严重降低了工作效率了,所以最近入手了 mbp (1月发行的),该电脑使用的是苹果自研的 m2 芯片,性能杠杠滴。在安装会之前的环境和软件时会遇到种种很奇怪的问题,所以本文记录下来,以便有需要的童鞋可以去参考。 在本文开

    2024年02月02日
    浏览(61)
  • Mac OS M1、M2 芯片虚拟机 VMware Fusion 安装Windows 11 Win 11 arm64虚拟机 双系统 教程

    请参考: https://mp.csdn.net/mp_blog/creation/editor/new/129279303

    2024年02月13日
    浏览(119)
  • MAC(适用于M1,M2芯片)下载Java8(官方 ARM64 JDK1.8)安装、配置环境,支持动态切换JDK

    官方下载地址 https://www.oracle.com/cn/java/technologies/downloads/ 这个是官方新发布的适配了M1、M2芯片的ARM64版本的jdk8,再也不用去第三方下载了,也不用满世界的去找第三方jdk缺少的jar包了,而且更快更强!! 可以下载免安装版, 这样就可以配置多个版本的jdk了,配置如下 使配置

    2024年02月08日
    浏览(106)
  • Mac M1(arm 系列芯片)如何安装 Chromium | Puppeteer

    最近写个脚本用到 puppeteer,然后安装 Chromium 出现一点问题,这里记录一下解决方案。 在 Puppeteer 安装时会自动安装 Chromium,然而却总是报错 502 导致下载失败,直接下载可以下载,命令行 wget 也可以,猜测是因为 Puppeteer 开启了新的 process 来安装导致环境变量丢失,然后就玄

    2024年02月01日
    浏览(45)
  • M1芯片Mac安装brew和brew常用命令(附:安装docker)

    mac终端安装brew: 如果上面这条命令出现问题则需要配置环境变量: vim /etc/profile 通过上面命令编辑添加两条环境变量 需要添加的原因是因为m1芯片的mac电脑上的brew安装包位置不是在以前的/usr/local而是/opt/homebrew。改完之后在安装上面那个安装命令就可以啦。 brew常用命令 1、

    2024年02月08日
    浏览(66)
  • M1/M2芯片mac电脑装双系统虚拟机win11/win10保姆级图文教程

    过去苹果电脑采用的是intel CPU,和PC一样是X86架构,硬件本身就支持Windows。苹果本身在系统中提供了对Windows的硬件支持,只要划出一部分硬盘空间,用系统内置的启动转换助理,安装Windows镜像,就可以实现硬件级别的双系统。而M系芯片是ARM架构,类似于iPhone、iPad上的A系芯

    2024年02月13日
    浏览(137)
  • M1/M2芯片Parallels Desktop 18安装使用教程

    本来发了一篇VMware Fusion虚拟机安装Win11的教程,但是实际使用下来,虽然也可以联网了,但是他对win系统的支持还是不友好。然后就找到了这个被称为史上最强的mac虚拟机 Parallels Desktop 18。用下来发现,他确实是史上最强!YYDS!!! Windows系统VMware可能是最强的,但在Mac上

    2023年04月19日
    浏览(85)
  • M1/M2 MAC 安装git

    cmd输入 git --version ,会跳出来说明还没有安装,根据提示点确认安装就好【但gitk等不支持,一般还是从官网下比较方便】 官网中提供了几种,包括先下载Homebrew,再从Homebrew下载Git,从Xcode下载Git等。之前mac下载过Xcode,但太大了,而且不怎么常用这个IDE,所以新电脑我就不想

    2024年02月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包