如有不了解可先参考我的另一篇文章本地部署:IoT DC3 是一个基于 Spring Cloud 的开源的、分布式的物联网(IoT)平台本地部署步骤
如有不了解可先参考我的另一篇文章本地部署:
1 环境准备:
JDK 8 以上
docker 安装好
下载docker-compose-dev.yml 文件
执行基础环境docker安装
测试前要修改本地host:这样就可以实现本地注册到服务器的注册中心:
# Added by DC3
192.168.0.247 dc3-mysql
192.168.0.247 dc3-redis
192.168.0.247 dc3-mongo
192.168.0.247 dc3-opentsdb
192.168.0.247 dc3-elasticsearch
192.168.0.247 dc3-rabbitmq
192.168.0.247 dc3-emqx
192.168.0.247 dc3-nginx
192.168.0.247 dc3-influx
# dev 127,0,0,1 是指本地要启动的服务
192.168.0.247 dc3-center-register
127.0.0.1 dc3-center-auth
127.0.0.1 dc3-center-manager
127.0.0.1 dc3-center-data
192.168.0.247 dc3-gateway
# End DC3
服务器部署好之后:
可以在nacos里新建立 dev空间,取得空间id
配置到配置文件:
cloud:nacos:discovery:namespace: 23a657c7-44fc-4d15-8114-fbd12aee0f5eserver-addr: http://dc3-center-register:8848group: ${spring.group}watch-delay: 5000
本地启动后在nacos中可以看到:
测试成功之后可以打包镜像到服务器上.
我们用docker镜像私有仓库,并安装好可视化镜像:
[Docker入门-搭建docker私有仓库 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/78543733)
```
docker run -d \ # 后台运行
--name registry-srv \ # 指定容器名
--restart=always \ # 设置自动启动
-p 5000:5000 \ # 端口映射宿主机,通过宿主机地址访问
-v /opt/zwx-registry:/var/lib/registry \ # 把镜像存储目录挂载到本地,方便管理和持久化
-v /opt/zwx-registry/srv-config.yml:/etc/docker/registry/config.yml \ # 把配置文件挂载到本地,方便修改和保存
registry
```
_**防踩坑**_:在进入registry容器的时候的命令参数不能使用`/bin/bash`,而要使用:`bin/sh`、`bash`、`sh`三个中的一个。输入命令进入registry容器:
登录:
```
docker exec -it 64e4e1ee9c4c /bin/sh
```
[Docker私有仓库搭建与界面化管理 - LeoZhanggg - 博客园 (cnblogs.com)](https://www.cnblogs.com/leozhanggg/p/12050322.html)
docker run -d --name registry-web --restart=always -p 8282:8080 -v /opt/zwx-registry/web-config.yml:/conf/config.yml hyper/docker-registry-web
/opt/zwx-registry/web-config.yml
```
registry:
# Docker registry url
url: http://192.168.0.247:5000/v2
# Docker registry fqdn
name: localhost:5000
# To allow image delete, should be false
readonly: false
auth:
# Disable authentication
enabled: false
http://192.168.0.247:8282/
dockerfile 运行一个样例:
```
docker build --no-cache -t slscp/slscp-iot-gateway:1.5 .
docker tag b0d801433b47 192.168.0.247:5000/slscp/slscp-iot-gateway:1.5
docker push 192.168.0.247:5000/slscp/slscp-iot-gateway:1.5
在服务器端:
docker pull 0.0.0.0:5000/slscp/slscp-iot-gateway:1.5
docker run -p 8000:8000 --name dc3-gateway -d 0.0.0.0:5000/slscp/slscp-iot-gateway:1.5
这样启动好之后我们可以在Nacos里看到新服务启动就成功了.