Docker + MYSQL 启动nacos

这篇具有很好参考价值的文章主要介绍了Docker + MYSQL 启动nacos。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker启动nacos默认用的是内存数据库,重启docker容器以后,nacos配置会丢失,非常不方便。所以需要修改为使用Mysql作为nacos的存储。

1.数据库

创建mysql数据库,过程省略,将nacos 的mysql脚本在数据库中进行导入。

mysql脚本可以在nacos的容器中找到 /home/nacos/conf/ mysql-schema.sql

# 启动一个临时nacos容器
~] docker run --name nacos-server -e MODE=standalone -d nacos/nacos-server:v2.2.3
ed3b5a88a244
# 进入容器
~] docker exec -it ed3b5a88a244
# 找到mysql脚本
[root@ed3b5a88a244 conf]# pwd
/home/nacos/conf
[root@ed3b5a88a244 conf]# ls
1.4.0-ipv6_support-update.sql  announcement.conf  application.properties  derby-schema.sql  mysql-schema.sql  nacos-logback.xml

2.目录映射

从临时nacos容器中复制配置文件、数据、log目录到映射目录

docker cp 9c37c28fd155:/home/nacos/conf /Users/domino/files/docker-data/nacos-mysql/
docker cp 9c37c28fd155:/home/nacos/logs /Users/domino/files/docker-data/nacos-mysql/
docker cp 9c37c28fd155:/home/nacos/data /Users/domino/files/docker-data/nacos-mysql/

3.修改配置

修改映射目录的application.properties配置文件

修改以下几个配置

# 数据源类型为 mysql
spring.sql.init.platform=${SPRING_DATASOURCE_PLATFORM:mysql}
# 数据库 ip port name 等
db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:172.17.0.1}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:nacos}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
# 数据库用户名
db.user.0=${MYSQL_SERVICE_USER:root}
# 数据库密码
db.password.0=${MYSQL_SERVICE_PASSWORD:123456}

4.启动nacos容器

docker run -d -e MODE=standalone -p 8848:8848 -p 9848:9848 -v /Users/domino/files/docker-data/nacos-mysql/conf:/home/nacos/conf -v /Users/domino/files/docker-data/nacos-mysql/logs:/home/nacos/logs -v /Users/domino/files/docker-data/nacos-mysql/data:/home/nacos/data --name nacos-mysql --restart=always nacos/nacos-server:v2.2.3

PS:必须注意,有些文档只说配置8848端口,但是 2.x以上版本的nacos, 9848端口也是一定要配置的,否则可能会出现读取不到配置的情况,参考文档 https://blog.csdn.net/hmq1350167649/article/details/122432510

启动后,访问 http://localhost:8848/nacos 可以访问nacos首页,使用 nacos/nacos可以进行登录

5.重启测试

使用Mysql作为nacos容器存储目的就是防止重启nacos容器后配置丢失,在启动以后,可以添加一项配置,然后重启 nacos容器,重启后重新登录nacos,配置不丢失即视为成功。

参考文档:

https://developer.aliyun.com/article/972817文章来源地址https://www.toymoban.com/news/detail-605177.html

到了这里,关于Docker + MYSQL 启动nacos的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

    一、docker的问世         在LXC(Linux container)Linux容器虚拟技术出现之前,业界网红是虚拟机。虚拟机技术的代表,是VMWare和OpenStack。 虚拟机是什么?         虚拟机其实就是 在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。

    2024年03月26日
    浏览(71)
  • docker & k8s

    docker到底与一般的虚拟机有什么不同呢? 我们知道一般的linux系统即 GNU/Linux系统 包括两个部分, linux系统内核 + GNU提供的大量自由软件 ,而centos就是众多GNU/Linux系统中的一个。 虚拟机会在宿主机上虚拟出一个完整的操作系统与宿主机完全隔离,是一个重量级的系统,而do

    2024年02月16日
    浏览(40)
  • docker在k8s容器中的作用,以及docker的底层原理,以及k8s的常用命令

        Docker的设计思想就是创建软件程序可移植性的轻量级容器,让其可以在任何安装了Docker的机器上,不用关心底层操作系统,就可以运行开发程序,就像集装箱一样使用。 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们

    2024年04月27日
    浏览(61)
  • K8s和Docker

    Kubernetes(简称为K8s)和Docker是两个相关但又不同的技术。 1、Docker是一种容器化平台,用于将应用程序及其依赖项打包成可移植的容器。 2、Docker容器可以在任何支持Docker的操作系统上运行 好处:提供了一种轻量级、可隔离和可移植的部署方式。Docker提供了简单易用的命令行

    2024年02月09日
    浏览(31)
  • k8s部署docker

    操作系统:centos7.9_x64 Docker:20-ce K8s:1.23 操作系统最小硬件配置(在vmmare安装时需要选择):2核CPU、2G内存、20G硬盘 k8s-master:192.168.88.191 k8s-node1:192.168.88.192 k8s-node2:192.168.88.193 先只安装一台centos,完成master和node公共的配置之后,再克隆。 安装docker 安装kubeadm、kubelet 只在

    2024年02月11日
    浏览(40)
  • Docker + MYSQL 启动nacos

    Docker启动nacos默认用的是内存数据库,重启docker容器以后,nacos配置会丢失,非常不方便。所以需要修改为使用Mysql作为nacos的存储。 1.数据库 创建mysql数据库,过程省略,将nacos 的mysql脚本在数据库中进行导入。 mysql脚本可以在nacos的容器中找到 /home/nacos/conf/ mysql-schema.sql 2.目

    2024年02月16日
    浏览(42)
  • K8S:K8S自动化运维容器Docker集群

    (1)K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 (2)版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 (3)官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container S

    2024年02月10日
    浏览(82)
  • 指令收集:DOCKER+K8S

    1.镜像指令: docker images 2.容器指令: docker ps 3.启动类指令 systemctl start docker 1.node节点相关: kubectl get node  获取节点信息 2.pod 相关: kubectl run ng-test --image=nginx:1.14.2 运行一个节点 3.namespace 相关: kubectl logs -f POD-NAME -n namespace   查看节点控制台的日志 4.service 相关: kubectl get

    2024年02月04日
    浏览(64)
  • 学习 K8S: Docker 基础

    了解 Docker 的起源、选择、安装方法,学习 Docker 的命令操作、架构,以及容器的本质、隔离技术和与虚拟机的比较,掌握容器化的作用、Dockerfile 的编写和 Docker Hub 的使用。

    2024年02月11日
    浏览(55)
  • k8s和docker区别

    k8s和docker区别有以下几点: 1、k8s是一种开放源码的容器集群管理系统,能够实现自动化部署、扩展容器集群、维护等功能。 2、Docker是一种开放源码的应用容器引擎,开发者可以将他们的应用和依赖打包在一个可移植的容器中,发布到流行的 Linux机器上,也可以实现虚拟化。

    2024年02月16日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包