Docker 安装 Sentry

系统 centos 7 + 4 cores + 8G

如果已安装 docker 和 docker-compose 直接跳转到安装Sentry

安装 Docker

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

运行 docker run hello-world测试是否安装成功

若出现 docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?,则根据参考运行如下命令:

1
2
systemctl daemon-reload
systemctl restart docker.service

重试运行 hello-world 即可

安装 docker-compose 参考

1
2
3
4
5
curl -L "https://github.com/docker/compose/releases/download/1.28.0/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看版本
docker-compose --version

1.28.0版本的 docker-compose 可能会报错:

Error loading Python lib ‘/tmp/_MEIluNF4X/libpython3.9.so.1.0’: dlopen: /lib64/libc.so.6: version `GLIBC_2.28’ not found (required by /tmp/_MEIluNF4X/libpython3.9.so.1.0)

处理方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 通过第三方库 SCL 升级 gcc,仅支持64位,否则需要编译安装
yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtools-8 bash # 如果是zsh终端,这里的bash应该为zsh
# 上一句报错的话使用下面这句
# scl enable devtoolset-8 bash # 如果是zsh终端,这里的bash应该为zsh

# 设置长期使用该版本的 gcc
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile

# 升级make到4.2
wget http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
tar -xzvf make-4.2.tar.gz
cd make-4.2
./configure
make
make install
rm -rf /usr/bin/make
cp ./make /usr/bin/
make -v

# 安装 glibc-2.28
# 下载 glibc-2.28 或者去[官网](http://ftp.gnu.org/gnu/glibc/)把 glibc-2.28 的 tar 包下载并上传到服务器
curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
sudo yum install -y bison
mv glibc-2.28.tar.gz /usr/local
tar -zxvf glibc-2.28.tar.gz
cd glibc-2.28
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make # 耗时操作
make install

# 检查是否安装了glibc-2.28
strings /lib64/libc.so.6|grep ^GLIBC
ls -l /lib64/libc.so.6
# 看看输出的有没有glibc-2.28,如果有的话,直接
docker-compose -v
# 就可以检查 docker-compose 的版本了.

搭建 Sentry

搭建监控平台

1
2
3
git clone https://github.com/getsentry/self-hosted.git
cd self-hosted
./install.sh

运行监控平台

1
docker-compose up -d

访问localhost:9000即可

docker-compose restart 命令会导致重启异常,因此不建议使用

更新

1
2
3
4
# docker-compose build --pull
# docker-compose run --rm web upgrade
docker-compose stop
docker-compose up -d