使用Docker部署Nacos并配置MySQL数据源的详细步骤

 更新时间:2024年05月06日 09:45:16   作者:好奇的菜鸟  
Nacos是阿里巴巴开源的服务发现、配置管理和服务管理平台,它提供了注册中心和配置中心的功能,能够轻松地管理微服务的注册与发现,以及动态配置的管理,这篇文章主要给大家介绍了关于使用Docker部署Nacos并配置MySQL数据源的超详细步骤,需要的朋友可以参考下

前言

在安装 Nacos 之前,请确保你已经准备好了一个运行中的 MySQL 数据库。本教程将指导您如何使用 Docker 在单机模式下部署 Nacos,并将其数据持久化到 MySQL 中。

步骤一:拉取 Nacos 镜像

拉取最新版本的 Nacos Server 镜像,也可以指定特定版本:

docker pull nacos/nacos-server

如果你想拉取特定版本,例如 v2.2.0,则执行:

docker pull nacos/nacos-server:v2.2.0

步骤二:创建并挂载目录

在宿主机上创建两个目录用于日志和配置文件映射:

mkdir -p /mydata/nacos/logs/
mkdir -p /mydata/nacos/conf/

注意:这些目录将作为数据卷挂载到容器内部,使得我们可以在宿主机直接修改相关文件。

步骤三:临时启动并复制文件

  • 启动一个临时的 Nacos 容器以便从容器内复制配置文件至宿主机:
docker run -d --name nacos-temp -p 8848:8848 nacos/nacos-server
  • 将容器内的配置文件和日志文件复制到宿主机对应的目录:
docker cp nacos-temp:/home/nacos/logs/ /mydata/nacos/
docker cp nacos-temp:/home/nacos/conf/ /mydata/nacos/
  • 关闭并移除临时容器:
docker rm -f nacos-temp

步骤四:在 MySQL 中创建 Nacos 所需表结构

在 MySQL 中新建数据库 nacos-config(或其他自定义名称),然后从 Nacos GitHub 仓库 中找到并执行创建表结构的 SQL 脚本。

步骤五:正式启动 Nacos 并设置环境变量

以下命令用于启动一个带有持久化配置且连接了 MySQL 数据库的 Nacos 容器:

docker run -d \
--name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e DB_NUM=1 \
-e DB_URL_0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC \
-e DB_USER=root \
-e DB_PASSWORD=root \
-v /mydata/nacos/logs/:/home/nacos/logs \
-v /mydata/nacos/conf/:/home/nacos/conf \
--restart=always \
nacos/nacos-server

命令参数说明

  • -d 表示以守护进程模式运行容器。
  • -p 参数用于端口映射。
  • --privileged=true 提升容器权限。
  • -e 设置环境变量,包括 JVM 内存大小、运行模式以及 MySQL 数据库连接信息。
  • -v 挂载数据卷。

网络与防火墙设置

确保宿主机的防火墙规则允许访问 Nacos 相关端口(8848, 9848 和 9849)。对于 Linux 系统,可以使用以下命令:

firewall-cmd --permanent --add-port=8848/tcp
firewall-cmd --permanent --add-port=9848/tcp
firewall-cmd --permanent --add-port=9849/tcp
firewall-cmd --reload
systemctl restart docker # 重启 Docker 服务以确保新规则生效

配置文件修改

编辑宿主机上的 Nacos 配置文件以指向你的 MySQL 实例:

vim /mydata/nacos/conf/application.properties

更新如下配置项:

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root

验证配置是否正确映射到容器内:

docker exec -it nacos /bin/bash
cat /home/nacos/conf/application.properties
exit

访问 Nacos 控制台

当所有步骤完成后,现在可以通过浏览器访问 Nacos 控制台:

http://<ip>:8848/nacos/index.html

请将 <ip> 替换为实际服务器 IP 地址或本地回环地址 127.0.0.1

请注意,上述步骤基于截至撰写本文时的最佳实践,具体操作时,请参照最新的官方文档及 Docker 镜像标签进行调整。同时,务必检查挂载目录映射的正确性,确保应用配置能够成功写入容器。

总结

到此这篇关于使用Docker部署Nacos并配置MySQL数据源的文章就介绍到这了,更多相关Docker部署Nacos配置MySQL数据源内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker安装sentinel的实现示例

    docker安装sentinel的实现示例

    本文主要介绍了docker安装sentinel的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Docker 阿里云镜像仓库CR使用小结

    Docker 阿里云镜像仓库CR使用小结

    阿里云提供了免费的容器镜像服务,更重要的是支持公开和私有仓库,本文主要介绍了Docker 阿里云镜像仓库CR使用小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Docker进阶之快速扩容的方法

    Docker进阶之快速扩容的方法

    这篇文章主要介绍了Docker进阶之快速扩容的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 基于docker安装mariadb配置过程解析

    基于docker安装mariadb配置过程解析

    这篇文章主要介绍了基于docker安装mariadb配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Docker教程之Ubuntu 安装 Docker详细介绍

    Docker教程之Ubuntu 安装 Docker详细介绍

    这篇文章主要介绍了Docker教程之Ubuntu 安装 Docker详细介绍的相关资料,需要的朋友可以参考下
    2016-12-12
  • Centos 7中Docker私有仓库的搭建方法

    Centos 7中Docker私有仓库的搭建方法

    本篇文章主要介绍了Centos 7中Docker私有仓库的搭建方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Docker配置WebSSH的实现

    Docker配置WebSSH的实现

    本文主要介绍了Docker配置WebSSH的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Docker部署用Python编写的Web应用的实践

    Docker部署用Python编写的Web应用的实践

    本文主要介绍了Docker部署用Python编写的Web应用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Docker构建Maven+Tomcat基础镜像的实现

    Docker构建Maven+Tomcat基础镜像的实现

    这篇文章主要介绍了Docker构建Maven+Tomcat基础镜像的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • win10家庭版安装Docker for Windows

    win10家庭版安装Docker for Windows

    这篇文章主要介绍了win10家庭版安装Docker for Windows,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论