title |
---|
All-in-One 模式 |
All-in-One 模式部署由 Docker-Compose 的方式启动运行项目,Compose 能够定义和运行多个 Docker 容器的应用,允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project),通过子命令可对项目中的一组容器进行便捷地生命周期管理。
需要准备一台满足最小资源要求的主机节点开始 all-in-one
模式的部署。
CPU | Memory | 磁盘 |
---|---|---|
1 核 | 1 G | 10 G |
All-in-One
模式需要依赖以下软件,请预先在主机中安装符合以下版本要求的软件:
软件需求 | 最低版本 |
---|---|
Docker | 18.03.0-ce |
Docker-Compose | 1.21.0 |
Make | 3.81 |
说明:若主机已安装 Kubernetes 环境,可能会造成 docker 容器之间网络不通。
可通过 git clone 命令从 GitHub 指定的 URL 下载 Notification 的最新的源代码文件。
$ git clone https://github.com/openpitrix/notification.git
进入 解压后的 Notification 目录,编译项目。该过程需要拉取多个 Notification 相关的 docker 镜像,拉取镜像和安装速度与网络也有关系,需要等待几分钟。
$ cd notification
$ export GO111MODULE=on
$ make generate
$ make build
$ make compose-up
- 查看所有容器的运行状况,正常情况下所有容器状态应该如下所示,确保 Notification 相关的镜像都已经成功创建:
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------------------------------
notification-db docker-entrypoint.sh --low ... Up 0.0.0.0:13306->3306/tcp
notification-etcd etcd --data-dir /data --li ... Up 0.0.0.0:12379->2379/tcp, 2380/tcp
notification-manager notification Up 0.0.0.0:9200->9200/tcp, 0.0.0.0:9201->9201/tcp
notification-notification-db-ctrl flyway -url=jdbc:mysql://n ... Exit 1
notification-redis docker-entrypoint.sh redis ... Up 0.0.0.0:6379->6379/tcp
- 您可以通过浏览器,使用运行该服务的服务器的 IP 地址和 SwaggerUI 端口号即
<NodeIP>:9200
可以内部网络访问 SwaggerUI 页面,如http://192.168.0.4:9200/swagger-ui/
。
若需要在外网访问,在云平台需要在端口转发规则中将上述的内网端口 9200 转发到源端口 9200,然后在防火墙开放这个源端口,确保外网流量可以通过该端口。
提示:例如在 QingCloud 平台配置端口转发和防火墙规则,则可以参考 云平台配置端口转发和防火墙。
- 查看 API Gateway 服务
Notification 部署成功后,可以在 SwaggerUI 界面下体验一下各个 API 的使用,了解各个 API 的参数设置和具体使用。
Notification API 文档请参考 SwaggerUI 上详细的描述。
若需要卸载 Notification 清理环境,在项目文件目录下,执行以下命令,停止并删除 Notification 所有服务,请谨慎操作。
$ make clean