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

文章目录

前言

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

安装

创建文件夹

shell 复制代码
mkdir -p /home/docker_home/nacos/nacos-data/{conf,logs,data}

"假装"安装一下nacos

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

shell 复制代码
docker run -p 8848:8848 --name nacos -d nacos/nacos-server

拷贝文件夹

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

shell 复制代码
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容器

shell 复制代码
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容器

shell 复制代码
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数据库的方式

相关推荐
isNotNullX5 分钟前
什么是数据分析?常见方法全解析
大数据·数据库·数据仓库·人工智能·数据分析
JosieBook15 分钟前
【Java编程动手学】Java中的数组与集合
java·开发语言·python
唐可盐22 分钟前
第六章 SQL编程系列-Gbase8a从入门到进阶
数据库·sql·gbase8a
N_NAN_N31 分钟前
类图+案例+代码详解:软件设计模式----单例模式
java·单例模式·设计模式
旷世奇才李先生36 分钟前
SQLite 安装使用教程
数据库·sqlite
weixin_3993806938 分钟前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
lang201509281 小时前
Reactor ConnectableFlux支持多订阅者
java·网络
R-sz1 小时前
java流式计算 获取全量树形数据,非懒加载树,递归找儿
java·开发语言·windows
Ramos丶1 小时前
【ABAP】 从无到有 新建一个Webdynpro程序
java·前端·javascript
IT成长日记1 小时前
【Docker基础】Docker数据卷管理:docker volume ls及其参数详解
运维·docker·容器·volume ls