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数据库的方式

相关推荐
weixin_418007603 分钟前
软件工程的实践
java
2501_9153743516 分钟前
Neo4j 图数据库安装教程(2024最新版)—— Windows / Linux / macOS 全平台指南
数据库·windows·neo4j
it-搬运工27 分钟前
3.图数据Neo4j - CQL的使用
数据库·neo4j
lpfasd1231 小时前
备忘录模式(Memento Pattern)
java·设计模式·备忘录模式
迢迢星万里灬1 小时前
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术点解析
java·spring boot·spring·mybatis·spring mvc·面试指南
代码丰1 小时前
使用Spring Cloud Stream 模拟生产者消费者group destination的介绍(整合rabbitMQ)
java·分布式·后端·rabbitmq
weixin_446122461 小时前
浏览器播放监控画面
java·spring boot
-借我杀死庸碌的情怀-1 小时前
navicat可视化页面直接修改数据库密码——mysql、postgresql、mangodb等
数据库·mysql·postgresql
lpfasd1231 小时前
模板方法模式(Template Method Pattern)
java·开发语言·设计模式·模板方法模式
hn小菜鸡2 小时前
LeetCode 2529.正整数和负整数的最大计数
java·算法·leetcode