在VBOX上使用docker搭建nginx+nacos集群+mysql(centos7)

在VBOX上使用docker搭建nginx+nacos集群+mysql(centos7)

我所使用的是virtualbox,网络选择的是网络地址转换(NAT)

nacos-docker和docker-compse

小白花了近两天时间研究nacos集群,以下内容如有问题或需要改进的地方欢迎指正

vbox的网络我所选择的是网络地址转换(NAT)

使用nacos-docker和docker-compose

  1. 需要在虚拟机上安装docker-compose:(使用国内镜像),最后一行确认版本

    $ curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    $ chmod +x /usr/local/bin/docker-compose
    $ docker-compose --version   
    
  2. 下载并开启nacos集群和mysql(cluster-hostname.yaml内配置自行修改) [github:nacos-docker][https://github.com/nacos-group/nacos-docker]

$ git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
$ cd nacos-docker
$ docker-compose -f example/cluster-hostname.yaml up

其中mysql数据库如未修改cluster-hostname.yaml配置:其默认用户密码:root/root ,nacos数据库名为nacos_devtest

3.下载数据并安装nginx,在centos7中新建文件/data/docker/nginx/nacos/default.conf(路径自行决定),其内容如下

(IP地址,使用docker inspect nacos1 nacos2 nacos3 | grep IPAddress可知)

upstream nacos-cluster {
     
     server IP1:8848;
     server IP2:8849;
     server IP3:8850;
}
server {
     
 listen 1111;
 location /{
     
        proxy_pass http://nacos-cluster;
 }
}

注意这里还需要查出nacos集群所使用的network(默认使用bridge),或者使用ghost等其他技术实现docker内容器的互通,使用下面的语句得知nacos集群的network

$ docker inspect nacos01 | grep NetworkMode
"NetworkMode": "example_default"

并用以下语句启动nginx(–netwrok 的值添入上面所查询出的值:example_default)

docker run --name nginx -p 1111:1111 \
-v  /data/docker/nginx/nacos/default.conf:/etc/nginx/conf.d/default.conf  \
--network example_default \
--privileged=true \
-d nginx

接下来回来virtualbox进行端口映射1111端口,即可在主机进行访问nacos集群

localhost:1111/nacos

下面两种方法也可以实现nginx+nacos集群+mysql的功能,这里就不作细致的说明了:

  1. 修改linux的配置,启动不同的端口三次
  2. 使用docker,跑3个nacos,1个mysql和1个 nginx

你可能感兴趣的:(docker,mysql,nginx)