您的位置 首页 教育

docker部署nacos集群

安装docker 设置存储库 -安装必须依赖的包  sudo yum install -y yum-utils…

  • 安装docker
  1. 设置存储库 -安装必须依赖的包 

sudo yum install -y yum-utils

  1. 安装 Docker 引擎

1)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  1. 设置yum源

sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

  1. 安装docker

 sudo yum install docker-ce  //由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0

  1. 启动并加入开机启动

sudo systemctl start docker

sudo systemctl enable docker

  1. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

docker version

  • 单机部署—启动容器(无需挂载配置)
  1. docker拉取对应版本的nacos镜像

sudo docker pull nacos/nacos-server:2.0.2

2)单机部署nacos

sudo docker run -it

-e PREFER_HOST_MODE=ip

-e MODE=standalone

-p 9999:8848 

–name nacos

–restart=always nacos/nacos-server:2.0.2

  • 部署nacos集群—启动容器(无需挂载配置)

注:Nacos2.0增加了9848,9849端口来进行GRPC通信,这两个端口在Nacos2.0内部是通过8848+1000以及8848+1001这种偏移量方式计算出来的,不需要用户额外在配置文件中配置。但如果使用的是docker或存在端口转发方式启动,需要把这两个端口进行配置。

  1. docker拉取对应版本的nacos镜像

sudo docker pull nacos/nacos-server:2.0.2

  1. 启动nacos

节点一:(-d 后台运行)

sudo docker run -itd 

-e PREFER_HOST_MODE=ip 

-e MODE=cluster

-e NACOS_APPLICATION_PORT=9999 

-e NACOS_SERVERS=”10.30.4.48:9999 10.30.4.49:9999″

-e SPRING_DATASOURCE_PLATFORM=mysql

-e MYSQL_SERVICE_HOST=10.30.4.47 

-e MYSQL_SERVICE_PORT=3306

-e MYSQL_SERVICE_USER=** 

-e MYSQL_SERVICE_PASSWORD=*** 

-e MYSQL_SERVICE_DB_NAME=*** 

-e NACOS_SERVER_IP=10.30.4.47 

-p 9999:9999 

-p 10999:10999 

-p 11000:11000 

–name my-nacos1

–restart=always

–privileged=true

nacos/nacos-server:2.0.2

节点二:

sudo docker run -itd 

-e PREFER_HOST_MODE=hostname

-e MODE=cluster

-e NACOS_APPLICATION_PORT=9999 

-e NACOS_SERVERS=”10.30.4.47:9999 10.30.4.49:9999″

-e SPRING_DATASOURCE_PLATFORM=mysql

-e MYSQL_SERVICE_HOST=10.30.4.47 

-e MYSQL_SERVICE_PORT=3306

-e MYSQL_SERVICE_USER=*** 

-e MYSQL_SERVICE_PASSWORD=*** 

-e MYSQL_SERVICE_DB_NAME=*** 

-e NACOS_SERVER_IP=10.30.4.48 

-p 9999:9999 

-p 10999:10999 

-p 11000:11000 

–restart=always

–privileged=true

–name my-nacos2 

nacos/nacos-server:2.0.2

节点三:

sudo docker run -itd 

-e PREFER_HOST_MODE=hostname

-e MODE=cluster

-e NACOS_APPLICATION_PORT=9999 

-e NACOS_SERVERS=”10.30.4.47:9999 10.30.4.48:9999″

-e SPRING_DATASOURCE_PLATFORM=mysql

-e MYSQL_SERVICE_HOST=10.30.4.47 

-e MYSQL_SERVICE_PORT=3306

-e MYSQL_SERVICE_USER=*** 

-e MYSQL_SERVICE_PASSWORD=*** 

-e MYSQL_SERVICE_DB_NAME=*** 

-e NACOS_SERVER_IP=10.30.4.49 

-p 9999:9999 

-p 10999:10999 

-p 11000:11000 

–name my-nacos3 

–restart=always

–privileged=true

nacos/nacos-server:2.0.2

  • 离线部署nacos
  1. 找到一台联网的机器,把对应版本的镜像拉取下来

sudo docker pull nacos/nacos-server:2.0.2

  1. 将镜像保存为本地文件

sudo docker save nacos/nacos-server:2.0.2 -o /data/appadmjjkj/images/nacos-docker-2.0.2.tar

或 sudo docker save IMAGE ID -o /data/appadmjjkj/images/nacos-docker-2.0.2.tar

  1. 将保存号的tar镜像文件上传到要部署的机器上,安装镜像

sudo docker load -i nacos-docker-2.0.2.tar

  1. 参考单机或集群部署的启动命令,启动容器即可
  • 配置启动(需挂载配置)

目的是:为了进行挂载启动,以后修改配置文件、查看日志时更加方便。

  1. 创建挂载目录

mkdir -p /data/appadmjjkj/docker/cloud/nacos

  1. 先不进行任何配置直接启动一个nacos容器,然后将容器中的data、conf、log、bin拷贝到 /data/appadmjjkj/docker/cloud/nacos目录下。

直接启动:

sudo docker run –name nacos-server -d nacos/nacos-server:2.0.2

拷贝目录:

sudo docker cp nacos-server:/home/nacos/conf  /data/appadmjjkj/docker/cloud/nacos

sudo docker cp nacos-server:/home/nacos/logs  /data/appadmjjkj/docker/cloud/nacos

删除容器:

sudo docker stop nacos-server

sudo docker rm nacos-server

  1. 配置application.properties

在application.properties文件中,我们直接将原有采用环境变量方式的配置根据实际情况进行修改。

sudo vi /data/appadmjjkj/docker/cloud/nacos/conf/application.properties

修改内容如下:

# 端口

server.port=8848

spring.datasource.platform=mysql

# 数据库数量,如果mysql配置了主从就设置为 2

db.num=1

# mysql连接

db.url.0=jdbc:mysql://10.30.4.47:3306/ls_nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai

# 如果db.num=1,则将db.url.1屏蔽;反之则配置db.url.1

#db.url.1=

# mysql用户名

db.user=user_ls

# mysql密码

db.password=aeTHO5jqLRfP1c_W

  1. 挂载启动容器—-单机启动

sudo docker run -itd 

–name nacos-server

–privileged=true

–restart=always

-p 9999:8848

-e MODE=standalone

-v /data/appadmjjkj/docker/cloud/nacos/logs:/home/nacos/logs

-v /data/appadmjjkj/docker/cloud/nacos/conf:/home/nacos/conf

nacos/nacos-server:2.0.2

  1. 挂载启动容器—-集群启动

容器1:

sudo docker run -itd 

–name my-nacos1 

–restart=always

–privileged=true

-e PREFER_HOST_MODE=hostname

-e MODE=cluster

-v /data/appadmjjkj/docker/cloud/nacos/logs:/home/nacos/logs

-v /data/appadmjjkj/docker/cloud/nacos/conf:/home/nacos/conf

-e NACOS_SERVER_IP=10.30.4.49 

-e NACOS_SERVERS=”10.30.4.47:8848 10.30.4.48:8848 10.30.4.49:8848″

-p 8848:8848 

-p 9848:9848 

-p 9849:9849 

nacos/nacos-server:2.0.2

容器2:

sudo docker run -itd

-e PREFER_HOST_MODE=hostname

-e MODE=cluster

-e NACOS_SERVERS=”10.30.4.47:8848 10.30.4.48:8848 10.30.4.49:8848″

-e NACOS_APPLICATION_PORT=9998

-v /data/appadmjjkj/docker/cloud/nacos/logs:/home/nacos/logs

-v /data/appadmjjkj/docker/cloud/nacos/conf:/home/nacos/conf

-p 9998:8848 

-p 10998:9848 

-p 10999:9849

–name my-nacos2

–restart=always

–privileged=true

nacos/nacos-server:2.0.2

容器3:

sudo docker run -itd

-e PREFER_HOST_MODE=hostname

-e MODE=cluster

-e NACOS_SERVERS=”10.30.4.47:8848 10.30.4.48:8848 10.30.4.49:8848″

-v /data/appadmjjkj/docker/cloud/nacos/logs:/home/nacos/logs

-v /data/appadmjjkj/docker/cloud/nacos/conf:/home/nacos/conf

-p 8848:8848

-p 9848:9848

-p 9849:9849

–name my-nacos3

–restart=always

–privileged=true

nacos/nacos-server:2.0.2

本文来自网络,不代表0514资讯网立场,转载请注明出处:https://0514zx.com/info/6395.html
0514zx.com

作者: 0514zx.com

优质职场领域创作者
联系我们

联系我们

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部