【Docker】在Linux使用Docker进行nacos集群部署

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

目录

一、介绍

二、单个部署

三、多个部署

 每篇一获


一、介绍

Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos的主要功能包括:

  1. 服务发现和服务健康检查:Nacos能够帮助您实现自动服务注册、发现和健康检查。

  2. 动态配置服务:Nacos能够帮助您在所有环境中管理和维护应用的配置。您可以在Nacos中集中式管理应用的配置,并动态地推送配置更新。

  3. 动态DNS服务:Nacos提供了一种基于DNS协议的服务发现机制,可以更好地支持Kubernetes和Istio等云原生环境。

  4. 服务和元数据管理:Nacos能够帮助您管理微服务和元数据,包括流量管理、负载均衡、路由和鉴权等。

Nacos的目标是帮助您更快、更容易地构建、交付和管理微服务平台,从而使您能够更好地支持云原生应用的开发和运维。

二、单个部署

docker访问没有开启先执行以下命令开启docker的服务:

systemctl start docker

在linux中创建一个工作目录

命令:

mkdir -p mysql/{conf,data,script}  

mysql中有conf存放配置文件,mysql中有data存放数据的,script中是存放sql脚本

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

在将配置文件从主机拖到conf文件中:

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

创建一个mysql容器名称为m1,自动连接了默认网络中的网桥(Bridge)

docker run \
--name m1 \
-v /root/mode/mysql/conf/my.cnf:/etc/my.cnf \
-v /root/mode/mysql/data:/var/lib/mysql \
-v /root/mode/mysql/script:/script \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql/mysql-server:5.7

进入我们创建的mysql容器进行登录

进入:

docker exec -it m1 bash

登入mysql:

mysql -uroot -p

输入我们在创建是设置的密码即可登入,也就是123456,输入时是看不见输入的密码的

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器 

 

在创建一个数据库来存放数据:

create database nacos;

使用创建的数据库:

use nacos;

在我们创建数据的script目录中存放sql脚本,将使用目录挂载后容器也会有这个脚本,在主机中将脚本拖入即可

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

之后执行命令,将脚本在MySQL中执行,容器与虚拟机对应的目录,进行了目录挂载 

执行指定路径中sql的脚本:

source  /script/nacos-mysql.sql;  

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

之后查看数据表:

show tables; 

在进行用户的授权及密码设置:

grant all on *.* to root@'%' identified by '123456'; 

其中root为用户名称,123456为用户的密码。

之后退出:

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

之后重启mysql :

docker restart m1

下载nacos的镜像:

docker pull nacos/nacos-server  

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

查看m1容器的信息:

docker inspect m1

需要知道这个容器的IP。

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

开放需要访问的端口,如果已经开放可以省略:
查看防火墙列表的端口:
 

firewall-cmd --zone=public --list-ports

开放端口8848:
 

firewall-cmd --zone=public --add-port=8848/tcp --permanent

更新防火墙端口:
 

firewall-cmd --reload

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

之后创建并且运行nacos,及配置MySQL中的用户密码及m1的IP和端口映射

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.17.0.2 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 8848:8848 \
--name nacos \
nacos/nacos-server

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

可以使用命令查看该容器是否运行成功:

docker logs nacos

nacos为容器名称》

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

如图说明运行成功。。

成功后在主机中访问nacos:

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

登入后增加一个配置列表:
【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

在进入m1容器,登入后进行配置列表的查询:

select * from config_info;

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

三、多个部署

在nacos中查看我们部署的节点(只有一个):

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

创建一个自定义网络:

docker network create --subnet 172.18.0.0/16  mode

自定义网络和网桥的IP地址是不一样的,然后需要将这两个网连接起来:

docker network connect mode m1

m1连接mode网络。。

在查看m1容器:

docker inspect m1

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

创建并且运行nacos01,及配置MySQL中的用户密码及m1的IP和端口映射,还配置自定义网络的IP:

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.102:8848  172.18.0.103:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-p 8848:8848 \
--name nacos01 \
--net  mode \
--ip  172.18.0.101 \
--restart=always \
nacos/nacos-server

在查看nacos中的节点列表:

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

之后再将另外两个创建出来,给与相应的配置,名称nacos02,nacos03:
命令:

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.101:8848  172.18.0.103:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos02 \
--net  mode \
--ip  172.18.0.102 \
--restart=always \
nacos/nacos-server
docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.0.101:8848  172.18.0.102:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=m1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
--name nacos03 \
--net  mode \
--ip  172.18.0.103 \
--restart=always \
nacos/nacos-server

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

再查看节点状态:

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

接下来进行负载均衡

在mode目录中创建目录:

mkdir -p nginx/conf.d

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

在conf.d目录中创建并且编辑配置文件default.conf

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

创建编辑:

vim default.conf

 编辑以下内容:

#服务器的集群
upstream nacosList {  
    server nacos01:8848 weight=1; 
    server nacos02:8848 weight=1; 
    server nacos03:8848 weight=1; 
} 
 
server {
 
    listen  80;
    server_name  www.zkingedu.com;
 
    location / {
        root   /etc/nginx/html/;
        index  index.html index.htm;
    }
 
    error_page   500 502 503 504  /50x.html;
    
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    location  /nacos {
        proxy_pass  http://nacosList;
    }

}

集群nacos01,nacos02,nacos03的容器IP

按 i  进行编辑,按Esc退出编辑,并且输入:wq 保存编辑并且退出; 

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

创建并且运行负载均衡的容器

命令:

docker run -itd \
--name nginx \
-v /root/mode/nginx/conf.d:/etc/nginx/conf.d \
-p 80:80 \
--net mode \
nginx

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

之后用虚拟机IP加上路径/nacos即可访问,并且负载均衡已实现:

【Docker】在Linux使用Docker进行nacos集群部署,docker,linux,容器,运维,服务器

 每篇一获

在Linux上使用Docker进行Nacos集群部署,可以带来以下几个方面的收获:

  1. 简化部署过程:Docker可以将应用及其依赖打包在一起,形成一个标准化的单元,这使得部署过程变得非常简单。您只需要一个Docker命令,就可以在任何支持Docker的平台上部署Nacos。

  2. 提高资源利用率:Docker容器相比传统的虚拟机有更小的性能开销,可以更高效地利用系统资源。这意味着您可以在同样的硬件上运行更多的Nacos实例。

  3. 易于扩展和维护:使用Docker Swarm或Kubernetes等容器编排工具,可以轻松地对Nacos集群进行扩展和维护。当需要增加Nacos实例以应对更大的负载时,您只需要简单地调整编排配置即可。

  4. 环境一致性:Docker可以确保在不同环境中运行的Nacos实例有着一致的运行环境,这大大减少了因环境差异导致的问题。

  5. 便于故障排查和恢复:当Nacos实例出现问题时,您可以通过查看Docker容器的日志来进行故障排查。如果需要恢复到某个状态,只需要重新启动相应的Docker容器即可。

总的来说,使用Docker进行Nacos集群部署,可以使得部署和运维工作变得更加简单、高效和可靠。文章来源地址https://www.toymoban.com/news/detail-803973.html

到了这里,关于【Docker】在Linux使用Docker进行nacos集群部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Docker之nacos集群部署

    Nacos 是一个开源的注册中心和配置中心,用于实现微服务架构中的服务发现、服务治理和动态配置管理。在 Docker 中使用 Nacos,你可以通过拉取官方提供的 Docker 镜像并运行容器的方式来快速部署  镜像拉取命令详解: 当前命令为创建Nacos容器(没有Nacos镜像会自动拉取Nacos镜

    2024年01月20日
    浏览(42)
  • Linux Docker中APISIX集群部署【珍藏版】

    集群流程如下图所示: 部署的系统为AlmaLinux,docker版本为23.0.1,docker-compose版本为v2.2.0,apisix版本为3.0.0。 服务器IP 需安装服务(红色为必装服务) 备注 176.16.108.113 docker 、 docker-compose 、apisix( apisix 、 dashboard 、 etcd 、prometheus、grafana、nginx)、 nginx 、 keepalived 等 服务节点1 176.

    2024年02月10日
    浏览(39)
  • Docker-nacos集群部署

    先拉取一个mysql 定义一个挂载目录 配置一个my.cnf放到conf目录下 开启mysql容器    privileged=true:使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限 restart=always:容器自动启动参数,其值可以为[no,no-failure,always] no为默认值,表示容

    2024年01月20日
    浏览(47)
  • 最终Docker6:nacos集群部署

    目录  mysql容器构建 1.进入soft 文件夹,创建mysql文件夹 2.进入conf文件夹 放入my.conf 配置文件 3.运行mysql容器 4.进入script文件夹 导入 sql文件 5.进入mysql 容器 并登录 6.创建nacos 数据库并使用,运行nacos.sql文件 7.授予用户所有权限 部署单个nacos,连接mysql 1.下载nacos镜像 2.部署单个

    2024年01月21日
    浏览(75)
  • Docker 单机/集群 部署 Nacos2.2.0

    1- 拉取镜像 2- 创建数据库 数据库初始化脚本:https://github.com/alibaba/nacos/blob/2.2.0/config/src/main/resources/META-INF/nacos-db.sql 3- 准备挂载的配置文件目录和日志目录 日志目录(空目录):./nacos/logs 配置文件:./nacos/conf/application.properties 拷贝:https://github.com/nacos-group/nacos-docker/blob/v2.2.0

    2024年02月15日
    浏览(35)
  • 【Docker】contos7安装 Nacos容器部署单个&&部署集群

                                      🎉🎉欢迎来到我的CSDN主页!🎉🎉                     🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚     🌟推荐给大家我的博客专栏《Docker】contos7安装 Nacos容器部署单个部署集群》。🎯🎯                  

    2024年01月23日
    浏览(45)
  • centos linux中使用docker关于nacos启动异常

    nacos启动出现异常: Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure :No DataSource set 在docker中启动nacos发先启动异常可以先查询docker中的镜像 docker images查询所有的镜像有nacos的          使用docker ps -a查询容器的

    2024年02月11日
    浏览(45)
  • 【Linux】Centos 8 服务器部署:docker 安装 jdk、nginx、nacos、redis、Sentinel Dashboard

    目录 一、安装软件 (1)全部安装命令 (2)安装:jdk (3)安装:nginx  (4)安装:nacos (5)安装:redis (6)安装:Sentinel Dashboard 二、开放端口 三、启动软件  (1)启动:nacos (2)启动:nginx (3)启动:redis (4)启动:Sentinel Dashboard 四、访问网址  (1)访问:nacos 

    2024年02月06日
    浏览(61)
  • linux安装搭建配置docker,mysql,nacos,redis哨兵集群,kafka,elasticsearch,kibana,IK分词器,安装Rabbitmq,安装并配置maven

    目录 搭建docker 1.2安装yum工具  1.3更新阿里镜像源 1.4下载docker 1.5关闭防火墙 1.6启动docker 1.7查看docker版本 1.8配置阿里云镜像 1.8.1 创建文件夹 1.8.2在文件夹内新建一个daemon.json文件 1.8.3重载文件 1.9重启docker 2安装MySQL 3安装nacos 3.1拉取nacos镜像并启动 3.2启动nacos命令 3.3命令敲完

    2024年02月03日
    浏览(56)
  • linux中使用docker部署微服务

    目录 一、制作jar包(如果看一眼很简单,可以直接使用结尾的jar) 1.首先创建一个微服务 demo2  2.启动微服务(在DemoApplication上右键执行启动就行)  注意:其他操作导致的 可能遇到的报错  3.修改端口  4.新建业务类MyController 5.重启并检查是否成功 6.打jar包 二、通过docker

    2024年02月06日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包