Docker - 部署 sonic 云真机平台
测试机经常被借来借去,通过开源项目搭建云真机平台,方便大家。
sonic - 开源云真机平台
我这里直接把数据库跟服务通过 compose 一起部署了,注意:官方建议单独部署数据库。
部署服务
发布地址:https://github.com/SonicCloudOrg/sonic-server/releases
$ mkdir /data/sonic && cd /data/sonic
$ wget 下载地址 && unzip sonic-*
-rw-r--r-- 1 root root 3105 Mar 22 08:49 docker-compose.yml
-rw-r--r-- 1 root root 915 Mar 22 08:57 .env
drwxr-xr-x 2 root root 4096 Mar 20 14:19 imageFiles/
drwxr-xr-x 2 root root 4096 Mar 20 14:19 keepFiles/
drwxr-xr-x 2 root root 4096 Mar 22 07:28 logs/
drwxr-xr-x 5 root root 4096 Mar 22 08:25 mysql/
drwxr-xr-x 2 root root 4096 Mar 20 14:19 packageFiles/
drwxr-xr-x 2 root root 4096 Mar 20 14:19 recordFiles/
# 直接使用带中文注释的 yml 文件,把原来的文件删除了,把 zh yml 文件重命名
修改 .env
文件
$ vim .env
SONIC_SERVER_HOST=192.168.1.xxx # 修改成服务器的 IP 地址
MYSQL_HOST=sonic-mysql # 修改为 mysql 服务名
修改 docker-compose.yml
文件,添加 sonic-mysql 服务
sonic-mysql:
image: "mysql:5.7"
hostname: sonic-mysql
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE
volumes:
- ./mysql/log:/var/log/mysql
- ./mysql/data:/var/lib/mysql
#- ./mysql/conf:/etc/mysql
ports:
- "3306:3306"
networks:
- sonic-network
设置优先启动 mysql 服务
version: '3'
services:
sonic-server-eureka:
...
depends_on:
- sonic-mysql
然后启动容器组件
$ docker-compose up -d
$ docker-compose logs -f
部署节点
访问前端服务 IP:3000
,注册后自动登录。
进入 设备中心 - Agent 中心 - 新增 Agent,复制 Agent Key
我这里是 Ubunt,所以直接使用 docker-compose 部署节点,jar 包部署方式移步官网。
$ mkdir /data/sonic-agent && cd /data/sonic-agent
$ wget 节点部署文件下载地址 && unzip sonic-*
修改配置文件
$ vim docker-compose.yml
- SONIC_SERVER_HOST=192.168.1.xxx # 修改为服务器 IP
- AGENT_HOST=192.168.1.xxx # 我这里节点就是本机
- AGENT_KEY=粘贴刚才复制的 Key
$ docker-compose up -d
设备连接到机器上,即可远程操控。