docker安装nacos,单例模式(standalone),使用mysql数据库

文章目录

  • 前言
  • 安装
    • 创建文件夹
    • "假装"安装一下nacos
    • 拷贝文件夹
    • 删除“假装”安装的nacos容器
    • 生成nacos所需的mysql表
      • 获取mysql-schema.sql文件
      • 创建一个mysql的schema
    • 重新生成新的nacos容器
  • 制作docker-compose.yaml文件
  • 查看网站

前言

此处有本人写得简易版本安装,如果不考虑使用mysql可以直接用内置的derby数据库,传送门:docker部署nacos,单例模式(standalone),使用内置的derby数据库,简易安装

安装

创建文件夹

mkdir -p /home/docker_home/nacos/nacos-data/{conf,logs,data}

"假装"安装一下nacos

为什么说要假装安装一下,因为这里很多人都被坑了,首先我们要理清我们的安装思路,nacos后期版本的docker安装,是要先让nacos在不设置太多参数的情况下,直接docker run,让其生成相应的conf文件,然后把这些文件从镜像中拷贝出来,然后再进行全新的带配置的docker安装,这样才能安装出可由你配置的nacos,就是很奇怪,你如果设置了任意一个环境参数,似乎nacos在构建的时候就会优先去找配置文件,这个时候就引起了一系列的找不到文件的异常报错。

docker run -p 8848:8848 --name nacos -d nacos/nacos-server

拷贝文件夹

在经过上面“假装”安装后,生成了一些默认配置,我们现在需要做的就是将这些默认配置从镜像中拷贝出来,然后重新安装容器

docker cp nacos:/home/nacos/logs /home/docker_home/nacos/nacos-data
docker cp nacos:/home/nacos/conf /home/docker_home/nacos/nacos-data
docker cp nacos:/home/nacos/data /home/docker_home/nacos/nacos-data
  • 注意!拷贝的时候/home/docker_home/nacos/nacos-data/不要再加conf,这样会创建成/home/docker_home/nacos/nacos-data/conf/conf

删除“假装”安装的nacos容器

docker rm -f nacos

生成nacos所需的mysql表

获取mysql-schema.sql文件

去到/home/docker_home/nacos/nacos-data/conf目录下,你能找到“mysql-schema.sql”,这就是nacos依赖mysql所需要的表,不是很智能,还是只能自己多动动手了
在这里插入图片描述

创建一个mysql的schema

可以命名为nacos
在这里插入图片描述
右击,点击“运行SQL文件”
在这里插入图片描述
点击“…”,然后选择刚才下载的mysql-schema.sql
在这里插入图片描述
开始,即可生成所有mysql表
在这里插入图片描述

重新生成新的nacos容器

docker run -d \
-p 8848:8848 \
--name nacos \
--env MODE=standalone \
--env JVM_XMS=256m \
--env JVM_XMX=256m \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=127.0.0.1 \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_USER=your_username \
--env MYSQL_SERVICE_PASSWORD=your_password \
--env MYSQL_SERVICE_DB_NAME=nacos \
-v /home/docker_home/nacos/nacos-data/conf:/home/nacos/conf \
-v /home/docker_home/nacos/nacos-data/logs:/home/nacos/logs \
-v /home/docker_home/nacos/nacos-data/data:/home/nacos/data \
nacos/nacos-server
  • 如果出现cannot open directory的情况,可以添加一个参数,–privileged=true,它的主要作用扩大容器内的权限,将容器内的权限变为root权限,不加的话就是普通用户权限,但同时也会有安全性的问题,请自行考虑,我是没有开启的

制作docker-compose.yaml文件

version: ‘3.7’

services:
nacos:
image: nacos/nacos-server
container_name: nacos
environment:
- MODE=standalone
- JVM_XMS=256m
- JVM_XMX=256m
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=127.0.0.1
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=your_username
- MYSQL_SERVICE_PASSWORD=your_password
- MYSQL_SERVICE_DB_NAME=nacos
volumes:
- /home/docker_home/nacos/nacos-data/conf:/home/nacos/conf
- /home/docker_home/nacos/nacos-data/logs:/home/nacos/logs
- /home/docker_home/nacos/nacos-data/data:/home/nacos/data
ports:
- “8848:8848”
restart: always

查看网站

在浏览器中访问: http://127.0.0.1:8848/nacos
默认用户名和密码都是:nacos
记得修改
在这里插入图片描述
过来你配置的mysql数据库查看,你设置的内容已经存储在数据库了,自此实现了docker安装nacos,依赖mysql数据库的方式
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/798280.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

log4j 集成 ELK环境搭建

一、前言 1.需要准备一台linux服务器(最好是CentOS7),内存至少4g以上(三个组件都比较占用内存) 2.需要有docker使用经验 3. 三个软件的版本要一致 二、安装ElasticSearch 这里先创建一个网络:因为我们还需要部署k…

VS2022编译OpenCV库(静态库和动态库)

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方…

品牌定位升级|飞雕开关如何从家庭作坊走上国际之路?

飞雕电器,这个名字在中国开关插座行业中如同一面旗帜,自1987年起就扬帆在电工领域的大海中。它不仅见证了这个行业的起起伏伏,还始终以其创新的姿态站在浪尖之上。 飞雕的产品线丰富多彩,除主营的墙壁开关插座领域外,飞雕电器还涉足了与墙壁开关紧密相关的其它领域,现已推出移…

蓝桥杯第十四届C++C组

目录 三国游戏 填充 翻转 【单调队列优化DP】子矩阵 【快速幂、欧拉函数】互质数的个数 【tire树】异或和之差 【质因数分解】公因数匹配 子树的大小 三国游戏 题目描述 小蓝正在玩一款游戏。游戏中魏蜀吴三个国家各自拥有一定数量的士兵X, Y, Z (一开始可以认为都…

Linux中安装nacos

Linux中安装nacos 一、前言二、准备1、下载2、上传到服务器3、解压 三、配置1、备份配置文件2、导入sql3、修改前4、修改后 四、使用1、启动2、关闭 一、前言 最近国外的docker似乎是出什么问题,试过很多手段都拉不下 nacos 镜像,就打算在服务器装一下 …

windows git bash 报错 bash: gh: command not found,需要安装 github的做桌面版工具 或者换成git 命令

需要安装 github的做桌面版工具 或者换成git 命令 git clone https://.........git 当你在 Windows 的 Git Bash 中遇到错误 bash: gh: command not found 时,这表示 Git Bash 无法识别 gh 命令。gh 命令是 GitHub 命令行工具的一部分,它提供了从命令行与…

能否安全地删除 Mac 资源库中的文件?

在管理Mac电脑存储空间时,用户确实可能考虑对资源库(Library)文件夹进行清理以释放空间。Mac资源库是一个系统及应用程序存放重要支持文件的地方,其中包括但不限于配置文件、临时文件、缓存、插件、偏好设置、应用程序支持数据等。…

ModuleNotFoundError: No module named ‘xxx.xx‘; ‘xxx‘ is not a package

ModuleNotFoundError: No module named sqllineage.runner; sqllineage is not a package 数据血缘关系使用python3安装了sqllineage,在执行python脚本时始终报错sqllineage is not a package,经过检查python3安装配置没问题,并且sqllineage…

Rustdesk二次编译,新集成AI功能开源Gpt小程序为远程协助助力,全网首发

环境: Rustdesk1.1.9 sciter版 问题描述: Rustdesk二次编译,新集成AI功能开源Gpt小程序为远程协助助力,全网首发 解决方案: Rustdesk二次编译,新集成开源AI功能Gpt小程序,为远程协助助力&#xff0c…

c语言中有哪些格式说明符,在scanf 会在遇到空白字符(空格、制表符或换行符)时停止读取(即scanf会忽略空格)

在C语言的 scanf 函数中,有几个格式说明符在遇到空白字符(包括空格、制表符和换行符)时会停止读取。这些格式说明符通常用于读取特定类型的输入数据。以下是一些常用的格式说明符: 1.%d 或 %i:用于读取整数。当 scanf …

【蓝桥杯嵌入式】六、真题演练(三)-2研究篇:第13届第一场真题

温馨提示: 真题演练分为模拟篇和研究篇。本专栏的主要作用是记录我的备赛过程,我打算先自己做一遍,把遇到的问题和不同之处记录到演练篇,然后再返回来仔细研究一下,找到最佳的解题方法记录到研究篇。题目在&#xff1a…

远程过程调用(远程调用)

远程过程调用(远程调用) 1、什么是分布式计算 在计算机科学中,分布式计算(英语:Distributed computing),又译为分散式运算。这个研究领域,主要研究分布式系统(Distribu…

学习周报:文献阅读+Fluent案例+水力学理论学习

目录 摘要 Abstract 文献阅读:物理信息的神经网络与湍流传质的非封闭机制模型相结合 文献摘要 提出问题 提出方案 实验设置 所需方程介绍 雷诺时均方程(RANS) K-epsilon两方程模型 神经网络框架 DNN部分 损失函数定义 PINN部分…

Francek Chen 的128天创作纪念日

目录 Francek Chen 的128天创作纪念日机缘收获日常成就憧憬 Francek Chen 的128天创作纪念日 Francek Chen 的个人主页 机缘 不知不觉的加入CSDN已有两年时间了,最初我第一次接触CSDN技术社区是在2022年4月的时候,通过学长给我们推荐了几个IT社区平台&a…

【Python】还在用print进行调试,你Out了!!!

1. 引言 Python 中最常用的函数是什么?像在大多数编程语言中,print() 函数是最常用的。我相信大多数开发者都会像我一样,在开发过程中多次使用它将信息进行打印。 当然,没有其他方法可以完全取代print()函数。不过,当…

系统架构设计基础知识

一. 系统架构概述系统架构的定义 系统架构(System Architecture)是系统的一种整体的高层次的结构表示,是系统的骨架和根基,支撑和链接各个部分,包括构件、连接件、约束规范以及指导这些内容设计与演化的原理&#xff0…

机电一体化系统设计学习笔记——接口技术和机电一体化

一、接口 1. 定义 是指连接机电一体化系统中不同部件、设备或软件模块之间的边界,使它们能够相互通信、交换信息或共享资源的一种技术手段。 2.作用 实现系统间的通信:接口技术使得机电一体化系统中的各个部件能够进行数据交换和通信,实现…

产品经理功法修炼(5)之团队管理

点击下载《产品经理功法修炼(5)之团队管理》 产品经理功法修炼(1)之自我管理 产品经理功法修炼(2)之专业技能 产品经理功法修炼(3)之产品设计 产品经理功法修炼(4)之产品管理 产品经理功法修炼(5)之团队管理 1. 前言 产品经理的能力修炼并非局限于某一技能的…

Linux USB host driver 枚举前的源码分析

当我们插入一个USB设备,系统如何感知到USB设备的接入,后续发生了哪些细节?系统如何区分这些USB设备?主机侧如何和这些从机设备进行数据的交互? 这里参考Linux kernel 4.9.xx的代码,部分异常和次要代码在这里…

c++算法学习笔记 (20) 哈希表

1.模拟散列表 // 拉链法 #include <bits/stdc.h> using namespace std; const int N 100003; int h[N]; int e[N], ne[N], idx; // 存链void insert(int x) {int k (x % N N) % N; // 让负数的余数变成正数(若直接加N,则可能溢出)e[idx] x;ne[idx] h[k];h[k] idx;…