Docker部署Sentry

| 分类 sentry  | 标签 docker  浏览次数: -

部署Sentry实例

  • 1.启动Redis容器
docker run -d --name sentry-redis redis
  • 2.启动Postgres容器
docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres
  • 3.生成所有sentry容器共享的密钥

该值将用作 SENTRY_SECRET_KEY 环境变量

export SECRET_KEY=$(docker run --rm sentry config generate-secret-key|tail -n 1)
  • 4.如果这是一个新数据库,则需要运行 upgrade
docker run -it --rm -e SENTRY_SECRET_KEY=${SECRET_KEY} --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade

注意:这 -it 很重要,因为初始升级会提示创建初始用户,如果没有它则会失败

  • 5.现在启动Sentry服务器
docker run -d -p 8080:9000 --name my-sentry -e SENTRY_SECRET_KEY=${SECRET_KEY} --link sentry-redis:redis --link sentry-postgres:postgres sentry

端口映射:如果希望能够在没有容器IP的情况下从主机访问实例,则可以使用标准端口映射。只需添加 -p 8080:9000 到docker run参数,然后在浏览器中访问或者 http://localhost:8080http://host-ip:8080

  • 6.启动调度器和worker(每个worker都有一个唯一的名称)
docker run -d --name sentry-cron -e SENTRY_SECRET_KEY=${SECRET_KEY} --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron

docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY=${SECRET_KEY} --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker

配置初始用户

如果您在此期间未创建超级用户upgrade,请使用以下命令创建一个:

docker run -it --rm -e SENTRY_SECRET_KEY=${SECRET_KEY} --link sentry-redis:redis --link sentry-postgres:postgres sentry createuser

环境变量

启动sentry映像时,可以通过在 docker run 命令行上传递一个或多个环境变量来调整Sentry实例的配置。请注意,这些环境变量是作为快速入门提供的,强烈建议您在自己的配置文件中安装或使用 sentry:onbuild 变体。

  • 1.SENTRY_SECRET_KEY

用于Sentry中的加密功能的密钥。此密钥在所有正在运行的实例中应该是唯一且一致的。您可以生成一个新的密钥,例如:

docker run --rm sentry config generate-secret-key
  • 2.SENTRY_POSTGRES_HOSTSENTRY_POSTGRES_PORTSENTRY_DB_NAMESENTRY_DB_USERSENTRY_DB_PASSWORD

Postgres服务器的数据库连接信息。如果postgres存在链接容器,则不需要这些值。

  • 3.SENTRY_REDIS_HOSTSENTRY_REDIS_PORTSENTRY_REDIS_DB

Redis服务器的连接信息。如果redis存在链接容器,则不需要这些值。

  • 4.SENTRY_MEMCACHED_HOSTSENTRY_MEMCACHED_PORT

Memcache服务器的连接信息。如果memcached存在链接容器,则不需要这些值。

  • 5.SENTRY_FILESTORE_DIR

存储Sentry文件的目录。默认为 /var/lib/sentry/files, 是一个 VOLUME 可以持久化数据。

  • 6.SENTRY_SERVER_EMAIL

From: 发送电子邮件中使用的电子邮件地址。默认:root@localhost

  • 7.SENTRY_EMAIL_HOSTSENTRY_EMAIL_PORTSENTRY_EMAIL_USERSENTRY_EMAIL_PASSWORDSENTRY_EMAIL_USE_TLS

发送smtp服务器的连接信息。如果smtp存在链接容器,则不需要这些值。

  • 8.SENTRY_MAILGUN_API_KEY

如果您使用Mailgun作为入站邮件,请设置API密钥并配置转发到的路由 /api/hooks/mailgun/inbound/

自定义镜像

该sentry镜像有许多种,每一个设计用于特定的使用情况。

  • 1.sentry:<version>

这是事实上的镜像。如果您不确定您的需求是什么,您可能想要使用这个。它被设计为既可以用作丢弃容器(安装源代码并启动容器来启动应用程序),也可以用作构建其他镜像的基础。

  • 2.sentry:onbuild

通过复制自定义 config.ymlsentry.conf.py 文件并安装插件,可以轻松自定义构建自己的Sentry实例 requirements.txt

也可以在 onbuild 包中开发自定义扩展。如果构建目录包含 setup.py 文件,则也会安装该文件。

有关更多信息,请参阅Sentry官方文档

要创建自定义sentry:onbuild程序包,只需执行以下操作:

1.创建一个包含的Dockerfile,基础镜像为 FROM sentry:onbuild

2.在同一目录中,添加自定义配置文件。

3.可以从docker-sentry GitHub repo获取这些文件的副本以用作模板。

4.构建你的镜像: docker build -t mysentry .

5.使用 mysentry 而不是运行自定义镜像sentry。


上一篇 nodejs常用操作     下一篇 Docker Swarm集群《二》
目录导航