1.docker pull nacos/nacos-server
注意:该命令报错信息如Error response from daemon: Get https://registry-1.docker.io/v2/: context deadline exceeded时 请去主页找 如下文章。
2.下载完成后查看已下载的镜像docker images
docker iamges
3.运行nacos容器
docker run -p 8848:8848 \
--name nacos \
-d nacos/nacos-server:latest
4.挂载目录,运行如下命令
设置nacos挂载目录为/usr/local/nacos,并将容器里都conf目录、logs目录、data目录复制到宿主机/usr/local/nacos目录里。
docker cp nacos:/home/nacos/conf /usr/local/nacos
docker cp nacos:/home/nacos/logs /usr/local/nacos
docker cp nacos:/home/nacos/data /usr/local/nacos
5.修改nacos的配置文件
进入该目录
cd /usr/local/nacos
进入该文件
vi application.properties
修改如图内容,修改完成之后 退出 保存。
6.停止和删除刚才运行的nacos容器
# 停止容器
docker stop nacos
# 彻底删除容器
docker rm nacos
7.初始化nacos的数据库
/*
Navicat Premium Data Transfer
Source Server : test
Source Server Type : MySQL
Source Server Version : 50744
Source Host : 116.62.191.110:3306
Source Schema : nacos
Target Server Type : MySQL
Target Server Version : 50744
File Encoding : 65001
Date: 18/09/2024 11:19:38
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for app_configdata_relation_pubs
-- ----------------------------
DROP TABLE IF EXISTS `app_configdata_relation_pubs`;
CREATE TABLE `app_configdata_relation_pubs` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`app_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`data_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`group_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`gmt_modified` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_app_pub_config_datagroup`(`app_name`, `data_id`, `group_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of app_configdata_relation_pubs
-- ----------------------------
-- ----------------------------
-- Table structure for app_configdata_relation_subs
-- ----------------------------
DROP TABLE IF EXISTS `app_configdata_relation_subs`;
CREATE TABLE `app_configdata_relation_subs` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`app_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`data_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`group_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`gmt_modified` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_app_sub_config_datagroup`(`app_name`, `data_id`, `group_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of app_configdata_relation_subs
-- ----------------------------
-- ----------------------------
-- Table structure for app_list
-- ----------------------------
DROP TABLE IF EXISTS `app_list`;
CREATE TABLE `app_list` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`app_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`is_dynamic_collect_disabled` smallint(6) NULL DEFAULT 0,
`last_sub_info_collected_time` timestamp NULL DEFAULT NULL,
`sub_info_lock_owner` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`sub_info_lock_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_appname`(`app_name`)