# 环境搭建 ## 开发环境 拉取代码: ```bash # 建议先配置SSH key pair git clone ssh://git@118.195.187.246:10022/ysun/EdgeManager.git cd EdgeManager ``` 一键部署PHP workerman和TimescaleDB环境: ```bash # docker build --network host -t edge_manager . docker compose up -d ``` 进入交互式Prompt: ```bash docker exec -it edge_manager sh ``` 后端调试: >--no_dup_code:禁止code在不同的working subclass间复用 > >--relay_device_status:不判断是否是设备状态并转发到MES接口 > >--port:连接PG数据库端口,默认5432端口 ```bash # In container php EdgeManager.php --no_dup_code --relay_device_status --server_name=GPU-server-01 --user=postgres --password=big_dick start ``` 前端调试: ```bash # In host # yarn # yarn watch yarn serve ``` 客户端PG连接: ```bash # sudo apt install postgresql-client # 登入 psql -h localhost -U postgres # 显示数据库列表 \l ``` ## 调试环境 不使用`docker compose`创建两个container分别运行EdgeManager和pg: ```bash # cd EdgeManager # 先定位到项目目录,方便创建image和挂载 # 创建EdgeManager的image docker build --network host -t edge_manager . # 创建container运行EdgeManager docker run -d --name edge_manager_test -v $PWD:/EdgeManager --network host --ipc host -it edge_manager # 创建container运行pg,将端口映射到host的55432 docker run -d --name pg_test -v $PWD/config/postgresql.conf:/etc/postgresql/postgresql.conf -p 55432:5432 -e POSTGRES_PASSWORD=big_dick -it timescale/timescaledb-ha:pg14-latest postgres -c 'config_file=/etc/postgresql/postgresql.conf' # 进入交互式Prompt docker exec -it edge_manager_test sh # 启动EdgeManager(workerman)命令省略... # 常用命令 # 查看全部container docker ps -a # 启动已停止的container docker start [container]