大致分为下面几个步骤
拉取debian基础镜像, 安装基础环境
添加awvs 和 license 到镜像, 并进行初始安装
构建镜像,并上传docker hub
使用镜像创建 awvs 容器
docker run -d -it --cap-add LINUX_IMMUTABLE -p 3443:3443 --name awvs k9scc/awvs:v15.4 /bin/bash /opt/awvs/start.sh
|
删除容器
1. 创建基础镜像
Dockerfile
FROM debian RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list &&\ apt update &&\ apt -y install net-tools libx11-6 libxcomposite1 libxdamage1 libxext-dev libxfixes-dev libxrandr-dev libasound2 libatk-adaptor libatk-bridge2.0-0 libatk-bridge2.0-dev libatspi2.0-0 libcairo2 libcups2 libdbus-1-3 libdrm2 libexpat1 libgbm1 libgio-cil libglib2.0-0 libglib-perl librust-gobject-sys-dev libnspr4 libnss3 libpango-1.0-0 libxkbcommon0 sudo systemctl
|
构建包含基础环境镜像
docker build -t debian-env .
docker images
|
2. 使用上面的镜像创建一个容器, 并且把应用添加到镜像
安装awvs, app文件夹里面存放awvs安装文件和license文件
docker run -it --name awvs-init debian-env bash
docker cp app awvs-init:/opt/awvs
|
安装awvs, 此时安装好后时未激活状态
安装步骤
1. >>> 回车
2. ---More--- q
3. Accept the license terms? [yes|no] [no] >>> yes
4. Hostname [a366*****23]: awvs
5 Configuring the master user... Email: admin@admin.com Password: Password again:
|
清理
apt clean all cd /opt/awvs rm acunetix_15.4.230222085_x64.sh install.log
|
3. 构建镜像, 并上传到docker hub
构建镜像
docker commit awvs-init awvs:init
|
上传dockerhub
docker login username password
docker tag awvs:init 用户名/仓库名:标签 docker push 用户名/仓库名:标签
|
4. 使用
创建容器
docker run -d -it --cap-add LINUX_IMMUTABLE -p 3443:3443 --name awvs k9scc/awvs:v15.4 /bin/bash /opt/awvs/start.sh
|
这里使用了 --cap-add LINUX_IMMUTABLE是为了方便chattr命令锁定lisense文件
start.sh内容
add_entry_to_hosts () { local hostname=$1 echo "Adding $hostname entry." echo -e "127.0.0.1 $hostname\n::1 $hostname" >> /etc/hosts } add_entry_to_hosts "erp.acunetix.com" add_entry_to_hosts "telemetry.invicti.com" add_entry_to_hosts "updates.acunetix.com"
su -l acunetix -c "/home/acunetix/.acunetix/start.sh"
|
第一次创建容器后的时候需要运行crack.sh
进入容器
docker exec -it awvs bash
cd /opt/awvs/ bash start.sh
|
5. 删除容器
因为使用了特殊权限,删除会提示错误, chattr -i 取消对应路径的文件权限即可删除 如图
提示
Error response from daemon: container 2810520df0d51b693522e97d0328d01ddbc8abb5caf88576f8df83d1ae07451a: driver "overlay2" failed to remove root filesystem: unlinkat /var/lib/docker/overlay2/81b0d118aa36af991ffdee8e12d8a831df10653d73af7df3c195e92dd885afe6/diff/home/acunetix/.acunetix/data/license/license_info.json: operation not permitted
/var/lib/docker/overlay2/81b0d118aa36af991ffdee8e12d8a831df10653d73af7df3c195e92dd885afe6/diff/home/acunetix/.acunetix/data/license/
|
docker rm awvs
chattr -i /var/lib/docker/overlay2/81b0d118aa36af991ffdee8e12d8a831df10653d73af7df3c195e92dd885afe6/diff/home/acunetix/.acunetix/data/license/license_info.json chattr -i /var/lib/docker/overlay2/81b0d118aa36af991ffdee8e12d8a831df10653d73af7df3c195e92dd885afe6/diff/home/acunetix/.acunetix/data/license/wa_data.dat
|