使用 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
即可启动。
# docker compose V2版本执行 docker compose up -d (https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command)
docker-compose up -d
# 正常会有以下输出
# Creating mysql ... done
# Creating redis ... done
# Creating prometheus ... done
# Creating ibex ... done
# Creating agentd ... done
# Creating n9e ... done
# Creating telegraf ... done
# docker compose V2版本执行 docker compose ps (https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command)
docker-compose ps
# 正常情况会有以下输出
# NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
# categraf flashcatcloud/categraf:latest "/entrypoint.sh" categraf 2 days ago Up 2 days
# ibex ulric2019/ibex:0.3 "sh -c '/wait && /ap…" ibex 2 days ago Up 2 days
# mysql mysql:5.7 "docker-entrypoint.s…" mysql 2 days ago Up 2 days
# n9e flashcatcloud/nightingale:latest "sh -c '/wait && /ap…" n9e 2 days ago Up 2 days
# prometheus prom/prometheus "/bin/prometheus --c…" prometheus 2 days ago Up 2 days
# 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