“深入理解 Docker 和 Nacos 的单个部署与集成部署“

这篇具有很好参考价值的文章主要介绍了“深入理解 Docker 和 Nacos 的单个部署与集成部署“。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器

引言:

“在当今快节奏的软件开发环境中,容器化技术和服务注册与发现已成为不可或缺的一部分。Docker 是一种流行的容器化平台,而 Nacos 是一个强大的服务注册与发现工具。本篇博客将深入讨论 Docker 和 Nacos 在单个部署与集成部署方面的细节和高级技巧,帮助读者更好地理解和应用这两项技术。”

Docker Nacos 单个部署

1.1 什么是 Docker?

Docker 的概念和工作原理

Docker 是一种容器化平台,它允许开发人员将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何支持 Docker 的环境中。Docker 的工作原理是利用 Linux 内核的 cgroups 和 namespaces 功能,通过将应用程序和其依赖项打包到容器中,实现了应用程序与其运行环境的隔离,从而实现了跨平台的部署。

Docker 为什么受到广泛应用和认可

Docker 受到广泛应用和认可的原因有几点:首先,Docker 提供了一种轻量级、快速部署的解决方案,使得开发人员可以更加便捷地构建、交付和运行应用程序。其次,Docker 容器可以在不同的环境中保持一致的运行,从开发环境到测试环境再到生产环境,这种一致性大大简化了部署和维护的复杂性。此外,Docker 社区庞大,拥有丰富的容器镜像和工具,使得开发人员可以更加高效地构建和管理容器化应用。因此,Docker 成为了现代应用程序开发和部署的重要工具之一。

1.2 什么是 Nacos?

Nacos 的核心功能和特点

Nacos 是阿里巴巴开源的一款服务发现、配置管理和服务管理平台。其核心功能包括服务发现与注册、动态配置管理、服务健康监测和流量管理。Nacos 的特点在于其支持多种部署模式(包括单机模式、集群模式和多数据中心模式)、提供了丰富的开箱即用的功能(如服务发现、动态配置、服务路由等),并且具有良好的扩展性和高可用性。

Nacos 在微服务架构中的作用

在微服务架构中,Nacos 扮演着重要的角色。首先,Nacos 提供了服务发现与注册的功能,使得微服务可以动态地注册和发现其他微服务,从而实现了微服务之间的通信和协作。其次,Nacos 的动态配置管理功能可以帮助微服务实现配置的动态更新和管理,使得微服务在不停机的情况下可以灵活地调整配置。此外,Nacos 的服务健康监测和流量管理功能可以帮助微服务实现自动化的健康检查和流量控制,保障微服务的稳定性和可靠性。因此,Nacos 在微服务架构中扮演着重要的角色,是微服务架构中不可或缺的基础设施之一。

1.3 Docker 单个部署 Nacos

确保拉取了mysql,我已经拉取好了

docker pull mysql:5.7

然后再创三个文件定义挂载目录

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

去到conf文件里面,拖一个my.cnf文件进去
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器

运行,创建一个m1的镜像

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

然后再拉一个sql文件到scipt
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
进去m1并登录数据库
如果没有权限,就赋权,可远程访问
grant all on . to root@‘%’ identified by ‘123456’;
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
创建数据库,进入nacos并运行sql文件
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
查看
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
退出数据库然后拉取nacos镜像
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
查看开放端口

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

开启8848防火墙

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

更新防火墙

firewall-cmd --reload

“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
然后创建运行nacos容器

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

重启m1
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
碰到个小插曲,进行远程访问设置时单词打错

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

docker logs -f nacos 查看实时日志,出现下面successfully绿色的就好了

“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
这个时候就可以访问登录了
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器

Docker Nacos 集成部署

需要用到一个自定义网络,我的已经定义好了mynet

docker network create --subnet 172.20.0.1/16  网络名称

把m1和mynet连接起来

docker network connect mynet m1

上一个nacos已经占用了8848端口,给它清掉

docker rm -f nacos

运行

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.20.0.102:8848  172.20.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  mynet \
--ip  172.20.0.101 \
--restart=always \
nacos/nacos-server

再次进入,跑起来了
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
再运行nacos2,nacos3

docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.20.0.101:8848  172.20.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  mynet \
--ip  172.20.0.102 \
--restart=always \
nacos/nacos-server
docker run -itd \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.20.0.101:8848  172.20.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  mynet \
--ip  172.20.0.103 \
--restart=always \
nacos/nacos-server

“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器

  • 然后实现负载均衡
    在根目录下创建个nginx文件,再创建个conf.d文件
    进入到里面去
    “深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
    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;
    }
 
}

退出保存
然后再开一个nginx容器

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

“深入理解 Docker 和 Nacos 的单个部署与集成部署“,docker,rpc,容器
负载均衡实行成功

总结:

本篇博客深入讨论了 Docker 和 Nacos 在单个部署和集成部署方面知识。通过学习和理解这些内容,读者将能够更好地应用 Docker 和 Nacos 技术,提升软件开发和部署的效率和质量。希望本文能给读者带来启发和帮助,谢谢阅读!文章来源地址https://www.toymoban.com/news/detail-804284.html

到了这里,关于“深入理解 Docker 和 Nacos 的单个部署与集成部署“的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 深入理解 Docker 容器卷

    Docker 容器卷是一种强大的功能,可以实现容器之间数据共享和持久化存储。本篇博客将介绍 Docker 容器卷的概念、用途和操作步骤,帮助读者更好地理解和使用容器卷。 容器卷是一种 Docker 提供的数据管理机制,于在容器和宿主机之间共享数据。 容器卷可以提供持久化存储,

    2024年02月16日
    浏览(31)
  • 深入理解 Docker 镜像

    以我们的pull 命令为例,在下载的过程中我们可以看到docker的镜像好像是一层一层的在下载。 联合文件系统是一种分层、轻量级并且高性能的文件系统, 它支持对文件系统的修改作为一次提交来一层层的叠加 ,同时可以将不同目录挂载到同一个虚拟文件系统下。Union 文件系

    2024年04月09日
    浏览(37)
  • Docker一键部署Nacos

    https://nacos.io/zh-cn/docs/quick-start-docker.html 使用sql脚本创建:https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql 新建docker-compose-nacos.yml 脚本文件,内容如下:

    2024年02月10日
    浏览(47)
  • 使用Docker部署Nacos

    Nacos是阿里巴巴开源的一款服务发现、配置管理和服务管理平台。它支持多种注册中心和配置中心的实现,可以帮助开发者快速构建微服务架构。 在实际使用中,我们可以选择使用Docker来部署Nacos,这样可以方便地进行管理和维护。下面就来介绍一下如何使用Docker部署Nacos。

    2024年02月13日
    浏览(42)
  • Docker——Nacos部署

    1.拉取nacos镜像文件 2.挂载目录 3.添加配置文件 4.启动容器 5.访问nacos 6.停止容器 7.设置nacos服务自启动 1.拉取nacos镜像文件 2.挂载 3. 方式一: 方式二: 2.请求访问 url:

    2024年02月13日
    浏览(36)
  • Docker部署Nacos

    Docker的安装和配置 Dcoker部署自己的项目 Docker推送镜像文件到镜像仓库

    2024年02月16日
    浏览(33)
  • Docker进阶:深入理解 Dockerfile

    💖The Begin💖点点关注,收藏不迷路💖 Dockerfile 是用来定义 Docker 镜像里的内容和构建步骤的文本文件。通过编写 Dockerfile,可以定制化镜像的构建过程,包括基础镜像选择、软件安装、环境变量设置等操作。通过编写 Dockerfile,用户可以自定义和构建自己的 Docker 镜像,实现

    2024年03月12日
    浏览(52)
  • Docker部署Nacos注册中心

    1、准备工作 2、添加配置文件 3、运行容器 4、导入Nacos初始化SQL 打开MySQL终端 复制下面SQL语句黏贴到MySQL终端 1、准备工作 2、创建TEST容器,将Nacos的conf目录COPY出来,然后映射到容器里面,方便后续维护管理! 3、运行容器 注意: MYSQL_SERVICE_HOST 变量填写自己MySQL地址,其他都

    2024年02月07日
    浏览(41)
  • Docker部署Nacos(单机/集群)

    ​ 注意:本文中的nacos版本为2.2.0 nacos官方文档: https://nacos.io/zh-cn/docs/quick-start-docker.html 1.单机部署 1.1 安装docker ce 环境 1.2 下载nacos镜像 1.3 以单机模式启动nacos 命令解析 : 命令 含义 -v Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定 -p 容器内部端口

    2024年02月04日
    浏览(45)
  • Docker之nacos集群部署

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

    2024年01月20日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包