基于docker-compose搭建本地sentry服务

馋奶兔 提交于 2021-02-10 08:00:26

####环境要求:

  • centos 7
  • Docker 17.05.0+
  • Compose 1.19.0+
  • RAM 2400MB

docker-compose 安装

```$ curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose

$ chmod +x /usr/local/bin/docker-compose

or

$ yum install python-pip

$ pip install docker-compose

or $ curl -L --fail https://github.com/docker/compose/releases/download/1.24.1/run.sh > /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose


 

#### 1. git拉取当前假定为 /data/sentry,并进入此目录。
```git clone https://github.com/getsentry/onpremise.git
然后进入目录仓库目录,默认为 onpremise。

2. 安装前配置

cp config.example.yml config.yml
修改 smtp 配置
# mail.backend: 'smtp' # Use dummy if you want to disable email entirely
mail.host: 'smtp.163.com'
mail.port: 25
mail.username: 'xxxx@163.com'
mail.password: 'xxxx'
mail.use-tls: false
#The email address to send on behalf of
mail.from: 'xxxx@163.com'

3. 直接运行 ./install.sh

最后一步,使用 docker-compose 启动所有容器并提供服务:
docker-compose up -d
这时候使用 docker-compose ps 命令可以看到类似如下的容器列表:
Name Command State Ports 
---------------------------------------------------------------------------------------
onpremise_base_1 /entrypoint.sh run web Up 9000/tcp 
onpremise_cron_1 /entrypoint.sh run cron Up 9000/tcp 
onpremise_memcached_1 docker-entrypoint.sh memcached Up 11211/tcp 
onpremise_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp 
onpremise_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp 
onpremise_smtp_1 entrypoint.sh tini -- exim ... Up 25/tcp 
onpremise_web_1 /entrypoint.sh run web Up 0.0.0.0:9000->9000/tcp 
onpremise_worker_1 /entrypoint.sh run worker Up 9000/tcp
并使用浏览器访问 {ip}:9000,使用开始自己填写的管理员账号就可以登录后台。

4. 其他

如果需要改变主机服务端口,只需要修改 docker-compose.yml 文件的 web 容器配置,如改为本机的 8888 端口提供服务:

web:
extends: base
links:
- redis
- postgres
- memcached
- smtp
ports:
- '8888:9000'
可以按照需求将整个服务在 systemd 管理,docker-compose 的其他相关命令如下:
docker-compose up # 创建并启动容器,容器没有创建无法启动,同时最好用 -d 参数在后台启动
docker-compose stop # 停止服务
docker-compose start # 启动服务,需要用 up 创建容器并停止之后

修改了配置文件应用到docker镜像中:

修改config.yal
或者
修改sentry.conf.py,比如添加smtp配置:

SENTRY_OPTIONS['mail.backend'] = 'smtp'
SENTRY_OPTIONS['mail.host'] = 'smtp.***.com'
SENTRY_OPTIONS['mail.password'] = '*******'
SENTRY_OPTIONS['mail.username'] = 'sentry@**.com'
SENTRY_OPTIONS['mail.port'] = 25
SENTRY_OPTIONS['mail.use-tls'] = False

然后

docker-compose down(关闭删除容器)
docker-compose build (重新编译镜像)
docker-compose up -d (运行)

 

这样就ok了
补充:centos防火墙使用firewalld,直接关闭firewalld docker会启动报错,所以这里配置firewalld规则:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" port protocol="tcp" port="9000" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="需要访问的ip" accept"
firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=9000/tcp
firewall-cmd --add-port=9000/tcp --permanent

Updating Sentry
Updating Sentry using Compose is relatively simple. Just use the following steps to update. Make sure that you have the latest version set in your Dockerfile. Or use the latest version of this repository.

 

Use the following steps after updating this repository or your Dockerfile:

 

docker-compose build --pull # Build the services again after updating, and make sure we're up to date on patch version
docker-compose run --rm web upgrade # Run new migrations
docker-compose up -d # Recreate the services
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!