使用 Docker compose 的方式一键部署夜莺

使用Docker Compose一键启动夜莺,快速尝试。更多Docker Compose相关知识请参考Docker官网 操作演示

先去 github releases 页面下载最新的 release 包,或者从 flashcat 下载中心 下载最新的发布包。解压缩,可以看到三个目录:

  • compose-bridge:bridge 网络模式的 docker compose 部署方式,数据库使用 MySQL
  • compose-host-network:host 网络模式的 docker compose 部署方式,数据库使用 MySQL
  • compose-postgres: bridge 网络模式的 docker compose 部署方式,数据库使用 PostgreSQL

通常使用 bridge 模块做测试即可。因为 MacOS 不支持 host network,所以,MacOS 用户只能使用 bridge 模式。如果你还不知道 bridge 模式和 host network 的区别,就直接用 bridge 模式即可,或者用二进制部署,不要使用 docker compose 了。进入 compose-bridge 目录,执行 docker-compose up -d 即可启动。

  1. # docker compose V2版本执行 docker compose up -d (https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command)
  2. docker-compose up -d
  3. # 正常会有以下输出
  4. # Creating mysql ... done
  5. # Creating redis ... done
  6. # Creating prometheus ... done
  7. # Creating ibex ... done
  8. # Creating agentd ... done
  9. # Creating n9e ... done
  10. # Creating telegraf ... done
  11. # docker compose V2版本执行 docker compose ps (https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command)
  12. docker-compose ps
  13. # 正常情况会有以下输出
  14. # NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
  15. # categraf flashcatcloud/categraf:latest "/entrypoint.sh" categraf 2 days ago Up 2 days
  16. # ibex ulric2019/ibex:0.3 "sh -c '/wait && /ap…" ibex 2 days ago Up 2 days
  17. # mysql mysql:5.7 "docker-entrypoint.s…" mysql 2 days ago Up 2 days
  18. # n9e flashcatcloud/nightingale:latest "sh -c '/wait && /ap…" n9e 2 days ago Up 2 days
  19. # prometheus prom/prometheus "/bin/prometheus --c…" prometheus 2 days ago Up 2 days
  20. # redis redis:6.2 "docker-entrypoint.s…" redis 2 days ago Up 2 days

💡启动成功之后,建议把 initsql 目录下的内容挪走,这样下次重启的时候,DB 就不会重新初始化了。否则下次启动 mysql 还是会自动执行 initsql 下面的 sql 文件导致 DB 重新初始化,页面上创建的规则、大盘等都会丢失。Docker Compose 这种部署方式,只是用于简单测试,不推荐在生产环境使用,当然了,如果您是 Docker Compose 专家,另当别论。

服务启动之后,浏览器访问 n9e 的端口,即17000,默认用户是root,密码是root.2020