linux下docker+sentry安装配置

一、docker安装

1.确保yum packages 是最新的

$ sudo yum update

更新时间会比较长,遇到输入选择:y

2.安装docker方法1

(1)添加yum repo

$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

(2)安装docker

$ sudo yum install docker-engine

3.安装docker方法二

运行docker 安装脚本

$ curl -fsSL https://get.docker.com/ | sh

4.安装docker方法三

yum install -y docker

5.启动docker

sudo service docker start

6.验证docker已经启动

sudo docker run hello-world

二、sentry安装

在安装sentry前请确保 docker 版本大于1.10

1.安装git

$ sudo yum install git

2.下载docker镜像并构建容器

$ git clone  https://github.com/getsentry/onpremise.git
$ cd onpremise
$ sudo make build

注: 所有命令都要以sudo权限运行 否则会报错docker 未启动

3.用docker安装sentry依赖的组件

Redis

docker run \
--detach \
--name sentry-redis \
redis:3.2-alpine

PostgreSQL

docker run \
--detach \
--name sentry-postgres \
--env POSTGRES_PASSWORD=secret \
--env POSTGRES_USER=sentry \
postgres:9.5

Outbound Email

docker run \
--detach \
--name sentry-smtp \
tianon/exim4

生成SENTRY_SECRET_KEY

docker run --rm sentry config generate-secret-key

复制最后一行为下面的{SENTRY_SECRET_KEY}

镜像连接

注意:接下来所有命令都需要用到 Redis、 PostgreSQL、 Outbound Email中的环境变量,所有命令中需要将将三个镜像连接起来

$ sudo docker run \
--detach \
--rm \
--link sentry-redis:redis \
--link sentry-postgres:postgres \
--link sentry-smtp:smtp \
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
${REPOSITORY} \
<command>

其中 SENTRY_SECRET_KEY 可以自己生成

${REPOSITORY} \ <command>

这里不知道怎么写,后面还没运行

4.在PostgreSQL中生成sentry需要的表

$ sudo docker run \
--detach \
--rm \
--link sentry-redis:redis \
--link sentry-postgres:postgres \
--link sentry-smtp:smtp \
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
-it sentry-onpremise upgrade

在创建过程中会提示创建一个superuser, 根据提示自动输入邮箱和密码,该账户和密码很重要, 在sentry部署好以后需要用该账号登录, 请必须记住账号和密码

5.拉起sentry需要的后台服务

$ sudo docker run \
--detach \
--rm \
--link sentry-redis:redis \
--link sentry-postgres:postgres \
--link sentry-smtp:smtp \
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
--name sentry-worker-01 \
sentry-onpremise run worker

6.拉起sentry需要的cron后台服务

$ sudo docker run \
--detach \
--rm \
--link sentry-redis:redis \
--link sentry-postgres:postgres \
--link sentry-smtp:smtp \
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
--name sentry-cron \
sentry-onpremise run cron

7.最后拉起sentry的web服务

$ sudo docker run \
--detach \
--rm \
--link sentry-redis:redis \
--link sentry-postgres:postgres \
--link sentry-smtp:smtp \
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
--name sentry-web-01 \
--port 9000:9000 \
sentry-onpremise \
run web

三、其他安装

1.卸载旧版本

sudo yum remove docker \
docker-common \
docker-selinux \
docker-engine

2.安装依赖包

sudo yum install -y yum-utils device-mapper-presistent-data lvm2

3.添加稳定源

sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

4.安装docker ce(比较耗时)

sudo yum makecache fast
sudo yum install docker-ce

5.启动docker

sudo systemctl start docker

6.测试docker

sudo docker run hello-world

7.查看docker版本

docker --version

8.安装docker-compose(可能会报错,参考报错解决)

sudo yum install epel-release
sudo yum install -y python pip
sudo pip install docker-compose

9.安装git

sudo yum install git

10.下载docker镜像并构建容器

git clone https://github.com/getsentry/onpremise
cd onpremise
sudo make build

11.更新和运行

mkdir -p data/{sentry.postgres}
git clone https://github.com/getsentry/onpremise.git #不用
cd onpremise/ #不用
docker-compose run --rm web config generate-secret-key

复制最后一行返回值

12.修改设置

vi docker-compose.yml #或者下载下来修改再上传

13.执行migrate

docker-compose run --rm web upgrade

这里有报错,还没解决

注意:回退删除的话,不能用backspace,可以用crtl+回退

14.运行所有服务

docker-compose up -d

15.查看所有服务

docker ps

四、报错问题

1./bin/yum-config-manager报错

·File "/bin/yum-config-manager", line 133     except yum.Errors.RepoError, e:                                ^ SyntaxError: invalid syntax

解决:

编辑yum-config-manager(解决在操作例如yum换源的时候报错问题)

cd /bin
vim yum-config-manager

第一行改为如下: 

#!/usr/bin/python2 -tt

2.安装过程中requests报错

Found existing installation: requests 2.6.0       Cannot uninstall 'requests'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

解决:

忽略 错误 安装模块

pip install --ignore-installed requests
pip2 install --ignore-installed requests  

之后再重新安装docker-compose等步骤

参考文档

1.centos7下搭建sentry错误日志服务器:http://projectsedu.com/2016/10/14/centos7%E4%B8%8B%E6%90%AD%E5%BB%BAsentry%E9%94%99%E8%AF%AF%E6%97%A5%E5%BF%97%E6%9C%8D%E5%8A%A1%E5%99%A8/

2.django通过celery添加异步任务:http://projectsedu.com/2017/02/08/django%E9%80%9A%E8%BF%87celery%E6%B7%BB%E5%8A%A0%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1/

3.使用 SENTRY 监控业务日志:https://tech.liuchao.me/2015/06/monitor-service-error-logs-by-using-sentry/

4.解决centos7 docker-compose Traceback:https://blog.csdn.net/weixin_41282397/article/details/80689822

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

Docker-如何清理磁盘占用

最近开始打包我们的一些应用,不得不说,我已经爱上了Docker这个工具。在AWS EC2上,它的存在使我们的工作方便了许多。然而,我们遇到的唯一问题是Docke...

3287
来自专栏云计算教程系列

如何在CoreOS集群上使用CloudSlang清理Docker环境

CoreOS是一个Linux发行版,专注于利用Docker容器和服务查询快速启动集群环境。但是,Docker镜像可能占用Docker主机上相当多的磁盘空间。普通...

1070
来自专栏建站达人秀

如何搭建 Ghost 博客

Ghost是一个轻量级(~7.5MB)的开源博客平台,非常易于使用。Ghost是完全可定制的。互联网上有很多可供Ghost使用的免费或付费的主题。

3453
来自专栏实战docker

实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署

最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的web...

5705
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Ghost和Nginx创建博客

Ghost是一个轻量级(~7.5MB)的开源博客平台,非常易于使用。Ghost是完全可定制的。互联网上有很多可供Ghost使用的免费或付费的主题。

1100
来自专栏数据和云

独家 | 通过Docker技术在macOS上部署3实例MGR环境

自从有了Docker,各种环境部署都简单从容起来,还记得我们曾经分享过:在macOS 上部署Oracle数据库环境,其实MySQL的环境部署起来同样得心应手。 ...

3478
来自专栏未闻Code

使用Docker Swarm搭建分布式爬虫集群

在爬虫开发过程中,你肯定遇到过需要把爬虫部署在多个服务器上面的情况。此时你是怎么操作的呢?逐一SSH登录每个服务器,使用git拉下代码,然后运行?代码修改了,于...

2032
来自专栏angularejs学习篇

.net自定义错误页面实现

  在实际的web开发中,经常会遇到以下情况,导致给用不好的体验:     a、程序未处理的异常,直接输出显示到用户页面     b、用户访问的...

1354
来自专栏编程坑太多

『中级篇』docker-swarm中的Service创建维护和水平扩展(45)

PS:docker service 内部有很多复杂的操作,虽然各位老铁用了简单的 一个创建一个删除,但是底层里面会知道有多个容器,在那个机器上边,这些机器里面...

883
来自专栏北京马哥教育

19个Linux备份压缩命令

? 文 | 云豆 来源 | 菜鸟教程 ? 云豆贴心提醒,本文阅读时间5分钟,文末有秘密! Linux ar命令 Linux ar命令用于建立或修改备存...

3956

扫码关注云+社区

领取腾讯云代金券