Skip to content

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

Published: at 18:59

使用 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 仓库

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

如果没有安装 git,先安装

Terminal window
sudo apt-get update
sudo apt-get install git

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

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

3 运行 docker

在 self-hosted 目录运行 docker compose

Terminal window
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 如果在虚拟机中安装,则需要主动暴露端口

Terminal window
# 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 相关的容器在运行)

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

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


原文链接: https://blog.jgrass.cc/posts/docker-install-sentry-test/

本作品采用 「署名 4.0 国际」 许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。