Ubuntu24安装docker部署灯塔ARL系统教程(亲测有效)
目标和简介
官方没有明确给出Ubuntu的一键安装脚本,只支持CentOS。本篇讲的是如何通过Ubuntu24终端命令手动安装ARL。以及在安装过程中的若干问题。
ARL是一个企业常用的信息收集工具,信息收集方面效果显著,集成了web页面,指纹识别,fofa采集,敏感泄露,子域名,c段等…
安装docker
ARL一般基于docker容器进行下载和运维。所以先安装docker。
docker和docker compose
docker compose是docker的管理工具,之前没了解过docker的,初步理解为类似python的pip就好。所以,docker compose是Docker 官方提供的一个工具,用于定义和运行多个 Docker 容器的应用。通过一个 YAML 文件来配置应用的服务、网络和卷等信息,然后使用一条命令就可以启动、停止和管理整个应用栈。
docker和compose的安装步骤
所以既要下载docker,也要下载docker compose。先来套公式:
sudo apt update
sudo apt upgrade
sudo apt update:该命令的作用是更新软件包列表。
sudo apt upgrade:基于更新后的软件包列表,将系统中已安装的软件包升级到可用的最新版本。
sudo curl -fsSL https://get.docker.com | bash -s docker
该脚本会自动检测你的 Linux 发行版,并执行相应的操作来安装 Docker。在这里,curl
下载的脚本内容会作为 bash
命令的输入。
如果sudo: curl: command not found,意味着你的系统里没有安装curl
工具。
sudo apt install curl
安装好curl再执行上一个命令。
如果curl: (35) Recv failure: Connection reset by peer,意味着防火墙没关,或者网络不好。
sudo ufw disable
当然,如果你点背:Docker 服务器可能暂时不可用或者出现故障。访问 Docker 官方的状态页面,查看是否有关于服务器故障的公告;或DNS 解析错误。可以尝试将 DNS 服务器更改为公共 DNS 服务器,如 Google 的 8.8.8.8
和 8.8.4.4
,或者阿里云的 223.5.5.5
和 223.6.6.6
。
在解决上述可能的问题后,再次执行上述的 Docker 安装命令。
如果你像我这样:
不要慌,只是单纯网络不稳定而已,耐心等待下载完成就好了。
检验docker是否下载成功并下载compose:
sudo docker --version
sudo apt install docker-compose -y
b8034c0那里是 Docker 构建版本的提交哈希Commit Hash。我们不用管:借助这个哈希值,开发人员和用户能够精准地追溯到具体是哪一次代码提交构建出了这个 Docker 版本。这在排查问题、分析版本差异或者与开发团队沟通时极为有用。
安装ARL
先造一个文件并进入该文件,以便后续在该文件中下载ARL并操作:
mkdir -p docker_arl
cd docker_arl
这里的docker_arl就是文件名,随喜去写。
下载并解压zip:
wget https://github.com/TophantTechnology/ARL/releases/download/v2.6/docker.zip
unzip docker.zip
rm -rf docker.zip
但小心200的骗局:出现404就代表找不到下载资源。实际上呢,访问这个旧地址确实是404了。我本地预先已经下载好了资源。大家自己上github换个地址就行了。
创建数据卷的子命令。数据卷是 Docker 中用于持久化存储数据的一种机制,它可以独立于容器的生命周期存在。并为创建的数据卷指定了名称,这里将数据卷命名为 arl_db(命名随喜):
sudo docker volume create --name=arl_db
依据 docker-compose.yml
文件来创建并启动容器并运行:
docker-compose up -d
up
是创建并启动在 docker-compose.yml
文件中定义的所有服务(容器)。在执行此命令时,Docker Compose 会检查镜像是否存在,若不存在则进行拉取操作,接着创建容器并启动它们。
当使用 -d
(detach的缩写)参数时,命令执行后不会在终端显示容器的日志输出,而是直接返回命令行提示符,方便继续执行其他操作。
Python 报出了 ModuleNotFoundError: No module named 'distutils'
错误。distutils
是 Python 标准库的一部分,不过在 Python 3.12 及更高版本中被移除了。这就是导致报错的原因。
sudo apt-get update
sudo apt-get install python3-distutils
apt-get
:包含了一些 apt
没有的高级功能,apt-get dist-upgrade
可以处理系统的依赖关系变化,进行更全面的系统升级 。
如果你和我一样需要还是无法使用这个distutils:
干脆不用这个包了,毕竟它移除有移除的道理,也意味着新版本已经不再支持了。
我们东家不亮西家亮,我们直接放弃docker-compose,选择docker compose插件形式。实际上,从 Docker 20.10 版本开始,Docker Compose 可以以插件的形式安装,这样可以避免 Python 环境的问题:
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.34.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
curl那里,若下载时间非常漫长,可以ctrl+C打断,并重新下载。我的是虚拟机,内存也只有4G,我的下载时间是2min:
至此,已完成完整安装。酌情参考吧。
关于本地部署
共享文件到Ubuntu
- 在 VMware 中,右键点击虚拟机,选择 “设置”,进入 “选项” 选项卡,点击 “共享文件夹”。
- 点击 “添加” 按钮,打开 “添加共享文件夹向导”,选择要共享的 Windows 文件夹,为共享文件夹命名,确保 “启用此共享” 选项被勾选,然后完成设置。
- 安装 open-vm-tools:
sudo apt-get install open-vm-tools open-vm-tools-desktop
- 共享文件夹一般会挂载到 “/mnt/hgfs” 下,如果未自动挂载,可以尝试重启虚拟机。之后就可以在 Ubuntu 的 “/mnt/hgfs” 目录中访问 Windows 共享的文件夹,并进行文件复制操作。
使用SCP命令
- 确保 Ubuntu 中启用了 SSH 服务,如果未安装,使用命令
sudo apt-get install openssh-server
安装。 - 在 Windows 上,安装 SSH 客户端,使用 Windows 自带的 PowerShell或Xshell。
- 使用命令
scp 文件名 用户名@UbuntuIP:/目标路径
进行文件复制。将 “文件名” 替换为要复制的文件路径和名称,“用户名” 为 Ubuntu 系统中的用户名,“UbuntuIP” 为虚拟机中 Ubuntu 的 IP 地址,“目标路径” 为文件要复制到的 Ubuntu 系统中的路径
参考资源:Ubuntu 22.0.4 安装 Docker 部署灯塔ARL系统教程_ubuntu中docker安装arl-CSDN博客