Loading

Windows 系统使用 docker 本地安装并运行 Sentry

使用 docker 本地试用 sentry

1 Windows 启用 WSL2,配置 docker

1 安装 docker desktop
2 启用 WSL2
旧版 WSL 的手动安装步骤 | Microsoft Docs
3 在 Microsoft Store 安装 Ubuntu
4 在 docker desktop 中启用 Use the WSL 2 based engine

5 在 docker desktop 中启用 Enable integration with additional distros: Ubuntu

2 安装 Sentry

Sentry 的 docker 要求是 Linux 环境

启动 Ubuntu,在 Ubuntu 的命令行中,直接使用这里的脚本配置

getsentry/self-hosted: Sentry, feature-complete and packaged up for low-volume deployments and proofs-of-concept

Self-Hosted Sentry | Sentry Developer Documentation

1 git clone 仓库

git clone https://github.com/getsentry/self-hosted.git

如果没有安装 git,先安装

sudo apt-get update
sudo apt-get install git

2 cd 到 self-hosted 目录,运行 install

sudo ./install.sh
// 如果 git 链接不稳,可以跳过 commit 检查
sudo ./install.sh --skip-commit-check

3 运行 docker

在 self-hosted 目录运行 docker compose

sudo docker-compose --env-file .env.custom up -d

不出意外应该就可以了,本机直接访问 http://127.0.0.1:9000/ 即可,这里 Ubuntu 和 Windows 的端口是共用的。

3 其它可能遇到的问题与处理

1 使用 wsl -l -v 查看 wsl 运行的实例与版本

如果是版本 1 或者需要删除,使用命令
wsl --unregister <DistributionName>
wsl --unregister Ubuntu

WSL 的基本命令 | Microsoft Docs

参考文章:
docker下一步步部署sentry - mvpbang - 博客园
win10利用WSL2安装docker的2种方式 - 知乎

其它的补充 1 Linux 安装 Sentry

1 centos 下安装 docker 和 docker-compose
Install Docker Engine on CentOS | Docker Documentation
Install Docker Compose | Docker Documentation

2 如果在虚拟机中安装,则需要主动暴露端口

# centos
firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent # 关闭5672端口
firewall-cmd --reload # 配置立即生效
firewall-cmd --zone=public --query-port=8080/tcp # 检查是否生效
firewall-cmd --list-ports # 查看已开放端口

centOS7查看端口及开放端口 - TimeBear的个人空间 - OSCHINA - 中文开源技术交流社区

其它的补充 2 Email 的配置

如果邮件发不出去,则需要重新配置 email 服务,
在 sentry 的目录中,找到 ./sentry/config.yml,在里面配置 email 服务器

示例:

然后在 docker-conpose.yml 所在目录,运行 docker-compose restart 重启服务

502 问题

在配置完成邮箱,重启 docker 容器之后,可能出现上报接口 /api/2/store/ 访问 502 的问题,

502 Bad Gateway (NGINX) - On-Premise - #sentry
Getting 502 generic error back every time after batch of uploads · Issue #41 · getsentry/sentry-cli

没有分析具体原因,简单粗暴的处理方式就是,删除所有的容器,然后使用上面的 sudo docker-compose --env-file .env.custom up -d 重新构建。
因为数据都是挂载出来了,所以不会有影响。

docker 容器批量停止与删除(删除全部的,请确保这个机器上只有 sentry 相关的容器在运行)

docker stop $(docker ps -q) 1
docker rm $(docker ps -aq) 1

参考链接:
Self-Hosted Sentry | Sentry Developer Documentation

posted @ 2022-01-21 18:59  J.晒太阳的猫  阅读(2174)  评论(0编辑  收藏  举报