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

前言

此处有本人写得简易版本安装,如果不考虑使用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数据库的方式
在这里插入图片描述

相关推荐

  1. 使用 Docker 部署 Nacos 并配置 MySQL 数据

    2024-04-04 06:30:03       70 阅读
  2. Docker 部署 MySQL 数据库

    2024-04-04 06:30:03       35 阅读
  3. Kotlin:模式(项目使用实例)

    2024-04-04 06:30:03       55 阅读
  4. 如何使用Python实现模式

    2024-04-04 06:30:03       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 06:30:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 06:30:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 06:30:03       82 阅读
  4. Python语言-面向对象

    2024-04-04 06:30:03       91 阅读

热门阅读

  1. ES-7.12.0-官网阅读-Index lifecycle actions各action详解

    2024-04-04 06:30:03       30 阅读
  2. SpringMvc处理器方法的返回值

    2024-04-04 06:30:03       34 阅读
  3. 《迭代器模式(极简c++)》

    2024-04-04 06:30:03       36 阅读
  4. 常见网络问题的概述

    2024-04-04 06:30:03       29 阅读
  5. 通过TCP或UDP向某个IP和端口发送数据

    2024-04-04 06:30:03       33 阅读
  6. 新兴AI技术及其创业机会

    2024-04-04 06:30:03       34 阅读
  7. 【开源产品部署系列】一、RuoYi-Radius搭建流程

    2024-04-04 06:30:03       26 阅读