sonarqube企业破解版docker镜像打包备忘录
[TOC]
下载破解版镜像,准备镜像
我下载的破解版的资源是来自Pwn3rzs的,链接就不放了,在他的tg频道里。
然后下载了之后解压,需要在原始的文件夹中做几个操作。
1:重命名文件夹为sonarqube,方便打包用
2:在sonarqube文件夹中创建一个start.sh,这是docker的启动脚本,代码如下:
#!/bin/sh
echo "[*]starting sonarqube, image created by 0x9009!"
ulimit -n 100000
exec /sonarqube/bin/linux-x86-64/sonar.sh console
3:把 Readme.txt移动到sonarqube. 因为破解着把license放到这里了,所有为了方便别人使用,暂时先放到这里把。
4:修改/sonarqube/conf/sonar.properties,因为我们要使用postgres数据库,修改:
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar123
sonar.jdbc.url=jdbc:postgresql://postgres:5432/sonar?currentSchema=public
其中:postgres:5432是后面我们启动的数据库的容器名和端口。sonar是数据库的名字。后面回统一创建,暂时不用管。
打包镜像
创建一个Dockerfile文件,和sonarqube 文件夹位于同一个目录:
FROM alpine:latest
RUN apk update && \
apk add openjdk17 procps && \
adduser -D sonar
COPY sonarqube/ /sonarqube
RUN chmod -R 777 /sonarqube
RUN echo "vm.max_map_count=262144" | tee -a /etc/sysctl.conf
USER sonar
EXPOSE 9000
VOLUME /sonarqube/data /sonarqube/logs /sonarqube/extensions
CMD ["/sonarqube/start.sh"]
然后运行:
docker build -t sonarqube .
推送到docker hub
docker tag my-sonarqube yourusername/my-sonarqube:latest
docker push yourusername/my-sonarqube:latest
运行这个镜像
在docker的宿主机内运行这个,或者永久修改内核参数,这个是elk运行需要的。
sysctl -w vm.max_map_count=262144
然后docker-compose.yml的文件为:
services:
sonarqube:
image: sonarqube:latest
restart: always
container_name: sonarqube
ports:
- "9000:9000"
volumes:
- ./sonardata/logs:/sonarqube/logs
- ./sonardata/data:/sonarqube/data
- ./sonardata/extensions:/sonarqube/extensions
depends_on:
- postgres
postgres:
image: postgres:12
restart: always
container_name: postgres
ports:
- "5432:5432"
volumes:
- ./postgres/postgresql/:/var/lib/postgresql
- ./postgres/data/:/var/lib/postgresql/data
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar123
POSTGRES_DB: sonar
在第一次docker compose up的时候,应该会出错,这是正常的,停掉。然后运行chmod -R 777 sonardata.
之后再启动就正常了。
破解的license文件再镜像内的Readme.txt中。
需要安装的插件,就直接放到./sonardata/extensions/plugins文件夹中,然后企业版需要重启镜像才能插件生效。
初始的账号密码:admin:admin