假设你已经完成Swarm的初始化,那么接下来开始部署BladeX服务
1.首先要创建一个自定义网络,后续所有的服务都指定使用这个网络
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
2. 然后是编写服务DockerCompose文件
2.1 先创建Nacos和Sentinel服务,保存名为(文件名可以自定义):swarm-nacos-sentinel.yml
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
2.2 发布nacos和sentinel
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
2.3 编写BladeX服务的DockerCompose文件,保存为:swarm-bladex-apps.yml
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
这里要注意的一个地方是服务启动参数里的
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
这里指定服务已我们前面创建的那个网络的ip前缀的网卡向nacos注册,如果不加这个参数默认是使用的是Docker自建的网卡,这样的话服务还是访问不了
2.4 发布BladeX服务
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
这里的服务栈名称和nacos的保持一致,不一样的话行不行我也没试过
2.5 编写Nginx服务的DockerCompose文件,保存为 swarm-nginx.yml
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
发布服务前需要把saber编译好的文件放到上边volumes中的位置
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
然后调好nginx的反代设置
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
2.6 发布nginx服务
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
3. 分享下我的Nginx配置
docker network create -d overlay \ --subnet=10.10.0.0/16 \ --gateway=10.10.0.254 \ --attachable=true \ ${网络名称}
补上部署后的图片:
说明一下,我这边改了服务名......按自己的来就好
扫一扫访问 Blade技术社区 移动端