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