Docker方式安装Archery

发布时间 2023-08-18 13:29:24作者: 荒野游侠

Docker方式安装Archery

基本环境信息

OS: RHEL Server 7.8_x86_64()
archery版本:hhyo/Archery-1.9.1
Python版本: 3.9.10

准备docker环境

1.安装Docker

可以执行命令来获取安装脚本:curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh
也可以直接访问https://get.docker.com网址,将网页内容复制出来,然后创建一个脚本
启动docker: systemctl start docker.service
验证安装:docker run hello-world
默认使用的官方的镜像,可以修改为国内docker镜像,编辑文件
vim /etc/docker/daemon.json 添加如下内容:

{
"registry-mirrors":["https://registry.docker-cn.com"]
}

重启docker服务 systemctl restart docker,然后通过命令docker info 查看结果。

Registry Mirrors:
 https://registry.docker-cn.com/

2.安装docker-compose

可以访问:https://github.com/docker/compose/releases 地址去下载最新版本的安装包
也可以直接在系统执行命令下载:curl -L "https://github.com/docker/compose/releases/download/2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
下载后,给该文件添加可执行文件。
chmod +x /usr/local/bin/docker-compose

 安装Python

 将下载的Linux版Python安装包解压Python-3.9.10.tgz,得到安装包:Python-3.9.10

tar -zxvf Python-3.9.10.tgz
cd /archery/Python-3.9.10
./configure
make
make test
make install
python3 --version

一般建议在安装python之前,先安装一些依赖,否则可能在make的时候会报错,一般依赖包括如下:
openssl-devel、zlib-devel、bzip2-devel、ncurses-devel、sqlite-devel、readline-devel、tk-devel、gdbm-devel、libffi-devel
在python安装完成后,因为archery的安装还依赖于django,所以还需要安装django模块
pip3 install django

 安装Archery

 从这里下载:https://github.com/hhyo/archery/releases/

在安装之前,关闭selinux,否则可能导致mysql和goinception容器起不来。

setenforce 0
cd /opt/ unzip Archery-1.9.1.zip mv Archery-1.9.1 /opt/archery cd archery/src/docker-compose/ #启动 docker-compose -f docker-compose.yml up -d

执行完上述命令后,会自动按照下图所示开始下载镜像

 待镜像下载完成后,有如下提示:

通过命令 docker ps -a 查看容器的运行情况。如果容器启动有问题,可以通过如下命令查看启动日志:

# mysql是容器名,查看mysql容器的启动日志
docker logs mysql

进入archery容器的/bin/bash脚本执行模式

docker exec -ti archery /bin/bash
cd /opt/archery
#如果不是虚拟环境,下面的source语句不用执行
source /opt/venv4archery/bin/activate
#安装必须的python依赖模块
pip3 install -r requirements.txt
#执行表结果的初始化语句
python3 manage.py makemigrations sql

#应用migrate
python3 manage.py migrate

#数据初始化
python3 manage.py dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql

#创建管理用户
python3 manage.py createsuperuser
输入用户名:archery
邮件地址:steven@mail.com
密码:Archery@2023

#重启服务(需要先从archery容器中退出)

[root@3f9e5bc8bc57 ~]# exit
[root@bogon docker-compose]#docker restart archery

访问

http://127.0.0.1:9123/
输入上面创建的管理用户的用户名和密码登录(archery/Archery@2023)

配置LDAP登录支持

进入archery容器
docker exec -it archery /bin/bash
#如果openldap-devel和django-auth-ldap没有安装,可以按照如下步骤进行安装

yum install openldap-devel
source /opt/venv4archery/bin/activate
pip install django-auth-ldap==1.3.0

修改archery的设置

cd /opt/archery/archery/
vi settings.py

将LDAP相关内容修改如下:

 保存,退出。