docker单机部署nacos集群

芭比q了,没用了,这通过docker部署集群好复杂了,弄不好了。。等再调研下把。。。

文章背景

慕课网Spring Cloud/Alibaba实战中第四章部署nacos集群。
由于老师是直接在linux上部署的。而我是想在window10下通过docker完成相同的功能。

参考文献

https://www.cnblogs.com/jinit/p/13619493.html

自用环境介绍

1. docker的安装

我的docker是使用的WSL。

版本

nacos 2.0.3

具体操作

1. 固定docker容器的IP。

因为最近刚开始接触,刚开始用的时候发现每次重启容器IP都会变化。后来去搜索了下相关文章,才知道每次容器重启都会重新分配IP。
网上有通过创建桥接网络,然后创建容器指定桥接网络ip的方式去实现多容器不同ip。我需求没那么复杂。就采用了另一种修改hosts文件的方式。但是那篇文章我找不到了,如果有看见的,可以评论区告诉我。

修改后的Host文件 192.168.124.2就是我当前机器的ip。

# Added by Docker Desktop
192.168.124.2 host.docker.internal
192.168.124.2 gateway.docker.internal

# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section

通过这种方式所有创建的容器上的服务都可以通过此ip访问。

2. nacos集群

  1. docker拉取nacos镜像
	docker pull nacos/nacos-server
  1. docker启动nacos容器
	# 为了方便观看,我把命令行换行了,其实就是一条命令
	docker run -d 
	--name nacos-8848 
	-e NACOS_SERVER_PORT=8848 
	-e NACOS_SERVERS="192.168.124.2:8848 192.168.124.2:8858 192.168.124.2:8868"  
	-e NACOS_SERVER_IP=192.168.124.2 
	-p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server

参数解释:

  • –name
    后面接的就是nacos容器名称,这个很好理解
  • -e NACOS_SERVER_PORT=8848
    配置当前节点端口是8848
  • -e NACOS_SERVERS=“”
    nacos集群上的所有ip,例如我配置了三个。
  • -e NACOS_SERVER_IP=192.168.124.2
    当前节点ip
  • -p 8848:8848
    就是本地到容器的端口映射,只需要改前面的端口就可以了,例如我是8848、8858、8868三个节点对应三个端口。
  • -p 9848:9848 -p 9849:9849
    nacos 2.0以后新增了gRPC的通信方式,新增了两个端口,所以也要进行映射
    参考文章
  1. 三个节点的启动命令分别是
    nacos-8848

    docker run -d --name nacos-8848 -e NACOS_SERVER_PORT=8848 -e NACOS_SERVERS="192.168.124.2:8848 192.168.124.2:8858 192.168.124.2:8868" -e NACOS_SERVER_IP=192.168.124.2 -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server
    

    nacos-8858

    docker run -d --name nacos-8858 -e NACOS_SERVER_PORT=8858 -e NACOS_SERVERS="192.168.124.2:8848 192.168.124.2:8858 192.168.124.2:8868" -e NACOS_SERVER_IP=192.168.124.2 -p 8858:8848 -p 9858:9848 -p 9859:9849 nacos/nacos-server
    

    nacos-8868

    docker run -d --name nacos-8868 -e NACOS_SERVER_PORT=8868 -e NACOS_SERVERS="192.168.124.2:8848 192.168.124.2:8858 192.168.124.2:8868" -e NACOS_SERVER_IP=192.168.124.2 -p 8868:8848 -p 9868:9848 -p 9869:9849 nacos/nacos-server
    
  2. 配置mysql数据源

    docker exec -it nacos-8848 bash
    cd conf
    # 修改配置文件,添加mysql数据源,在文件最下面添加
    vim application.properties
    

    mysql数据源配置文件

    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://192.168.124.2:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=root
    db.password=root
    
  3. 重启docker容器

    • 通过windows桌面应用进行重启就行
    • 通过docker命令重启容器
  4. 总结:我也是刚接触docker,也不是太熟悉,大家有问题可以在评论区交流下。

3. 别问我为什么没用nginx

因为课程上的部署没用nginx,至于负载均衡采用的是别的方案。所以我为了脱离nginx部署是绞尽脑汁了0-0。难啊。

要在Linux上进行单机部署Nacos,你可以按照以下步骤进行操作: 1. 首先,你需要准备好Nacos-2.0.3的安装包。你可以参考《Linux部署Nacos-2.0.3集群环境》或《Docker部署Nacos-2.0.3单机环境》来获取安装包的具体步骤和下载链接。 2. 下载安装包后,你需要创建一个自启服务,以便在系统启动时自动启动Nacos。你可以使用命令行编辑器(如vim)打开一个新的nacos.service文件: ``` vim /usr/lib/systemd/system/nacos.service ``` 在该文件中,你需要配置一些必要的信息,如Nacos的安装路径、启动命令等。你可以参考《Docker部署Nacos-2.0.3单机环境》中的自启服务配置来设置。确保你在文件中正确地指定了Nacos的安装路径和启动命令。 3. 保存并退出nacos.service文件后,你可以使用以下命令来启动Nacos: ``` cd /opt/cloud/nacos/bin sh startup.sh -m standalone ``` 这将进入Nacos的安装目录,并执行startup.sh脚本来启动Nacos。通过参数“-m standalone”,你将以单机模式启动Nacos。 请注意,以上步骤仅提供了在Linux上进行单机部署Nacos的基本指南。具体的实施细节可能会因你的操作系统、Nacos版本等因素而有所不同。为了确保成功部署Nacos,建议你参考官方文档或相关教程进行更详细的了解和操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Nacos(一)Linux部署Nacos单机环境(兼容Nacos1.x与2.x)](https://blog.csdn.net/zhuocailing3390/article/details/123056124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值