Docker安装配置Sentry及中间遇到的问题

docker 限制container容器使用内存,不限制swap交换分区

docker update --memory 20g --memory-swap -1 96b14c546d98

使用Docker神器来部署Sentry,非常简单,参考官方Sentry镜像的使用说明一步步操作即可。这里补充几点中间遇到过的坑。

1、数据持久化

在第2步启动Postgres容器的时候可以通过-v参数指定容器内数据目录映射到主机目录,从而使得数据能持久化保存到主机上,不至于容器损坏导致所有数据丢失。完整命令修改为如下:

$ docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry -v /data/sentry/postgresql/data:/var/lib/postgresql/data postgres

2、进入Sentry系统后,项目的DSN为空白

可以进入/manage/settings页面,重新设置Root URL保存,再回到项目设置页面DSN就能生成了。

这个是Github上的已知问题。

3、配置发送邮件

使用以下命令进入sentry容器

docker exec -it my-sentry /bin/bash

在容器内安装vim

apt-get update

apt-get install vim

编辑/etc/sentry/config.yml

mail.backend: 'smtp'

mail.host: 'smtp.exmail.qq.com'

mail.port: 587

mail.username: '[email protected]'

mail.password: 'password'

mail.use-tls: true

The email address to send on behalf of

mail.from: '[email protected]'

重启容器;回到/manage/status/mail/页面,可以看到修改的配置出来了,点击测试发送按钮后可以收到测试邮件了。

4、邀请注册邮件收不到

测试邮件能发送成功,但邀请注册和邮箱认证邮件收不到。根据Github已知问题#40中的提示,worker里的配置需要跟web容器的配置保持一致。配置方式类似参考上面第3条进入sentry-work-1进行同样修改。

修改完成,同样重启容器后,回到/settings/account/emails/页面,点击发送认证邮件,能正常收到了。

你可能感兴趣的:(Docker安装配置Sentry及中间遇到的问题)