02.28 Docker安裝配置Sentry及中間遇到的坑

用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 updateapt-get install vim

編輯/etc/sentry/config.yml

mail.backend: 'smtp'mail.host: 'smtp.exmail.qq.com'mail.port: 587mail.username: '[email protected]'mail.password: 'password'mail.use-tls: trueThe email address to send on behalf ofmail.from: '[email protected]'

重啟容器;回到/manage/status/mail/頁面,可以看到修改的配置出來了,點擊測試發送按鈕後可以收到測試郵件了。

4、邀請註冊郵件收不到

測試郵件能發送成功,但邀請註冊和郵箱認證郵件收不到。根據Github已知問題#40中的提示,worker裡的配置需要跟web容器的配置保持一致。配置方式類似參考上面第3條進入sentry-work-1進行同樣修改。

修改完成,同樣重啟容器後,回到/settings/account/emails/頁面,點擊發送認證郵件,能正常收到了。


Docker安裝配置Sentry及中間遇到的坑


分享到:


相關文章: