-
运行:
docker-compose up -d -
停止:
docker-compose stop -
查看后端日志:
docker logs -f feapder_backend -
查看爬虫日志:
- 查看爬虫实例:
docker service ps task_任务id - 查看爬虫实例日志:
docker service logs -n 行数 -f ID
举例:
docker service ps task_9docker service logs -n 20 -f u6qhyu2dauiu - 查看爬虫实例:
-
查看正在运行的容器:
docker ps -
进入容器:
docker exec -it 容器ID bash
默认端口如下:
# 前端端口
FRONT_PORT=6385
# 后端端口
BACKEND_PORT=8000
# MYSQL端口
MYSQL_PORT=33306
# REDIS 端口
REDIS_PORT=6379
# 监控系统端口配置
INFLUXDB_PORT_TCP=8086
INFLUXDB_PORT_UDP=8089
通过 vim .env 敲击i 进入编辑模式,修改完按 esc退出编辑,敲击 :wq 保存
以下列的是几种可能原因,可按照这个顺序排查,但不是所有步骤都需要走一遍
-
查看后端日志,观察报错
- 若是docker版本问题,参考部署一节安装最新版本,
- 若是报
This node is not a swarm manager,则是部署环境没准备好,执行docker swarm init,可参考参考部署一节
-
查看worker状态:
docker service ps task_任务id --no-trunc看看error信息
-
查看镜像
docker images,若不存在爬虫镜像registry.cn-hangzhou.aliyuncs.com/feapderd/feapder,可能自动拉取失败了,可手动拉取,拉取命令:docker pull registry.cn-hangzhou.aliyuncs.com/feapderd/feapder:版本号,版本号在.env里查看 -
重启docker服务,Centos对应的命令为:
service docker restart,其他自行查资料
-
在项目配置处将 requirements.txt 一栏置空,使其不自动安装依赖
-
添加一个常驻任务:执行命令可填写
while true; do echo hello world; sleep 1; done -
查看容器id
docker ps(若您有多台worker服务器,该任务会被随机分配到一台机器上,您需要在对应的机器上查看) -
进入容器
docker exec -it 容器ID bash -
接来下就和在centos服务器上操作一样了,你可以
pip安装依赖
此问题为服务器时间和时区问题, 可以在服务器上输入 date ,命令检查时间及时区是否正确
正常应该为 Mon Feb 21 17:03:11 CST 2022 注意是 CST 不是 UTC
修改时区及矫正时间命令
# 改时区
rm -f /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 校对时间 方式1
clock --hctosys
# 校对时间 方式2
ntpdate 0.asia.pool.ntp.org
在主节点上执行下面命令,将其设置成drain状态即可
docker node update --availability drain 节点id
attaching to network failed, make sure your network options are correct and check manager logs: context deadline exceeded
-
确定当前节点是不是Drain节点:docker node ls
是则继续往下看,不是则在评论区留言
-
修复
docker node update --availability active 节点id docker node update --availability drain 节点id
原因是Drain节点,不能为其分配网络资源,需要先改成active,然后启动,之后在改回drain
若不是以上情况,可能是network内的可分配的ip满了(老版本feaplat会有这个问题),那么可继续往下看
-
先检查feaplat目录下的docker-compost.yaml,翻到最后,看network相关配置是否为如下。若不是,则改成下面这样的。若下面指定的11 ip段和主机有冲突,可以写12、13等
networks: default: name: feaplat driver: overlay attachable: true ipam: config: - subnet: 11.0.0.0/8 gateway: 11.0.0.1完整配置见:https://github.com/Boris-code/feaplat/blob/develop/docker-compose.yaml
-
改完后,需要删除之前的network,使其重新创建,命令如下:
docker service ls -q | xargs docker service rm # 注意 这个会停止掉所有任务。 docker network rm feaplat # 删除网络 docker compose rm # 删除之前feaplat运行环境 docker compose up -d # 启动






