docker-compose部署sonarqube 7.9.5

docker-compose部署sonarqube 7.9.5

准备阶段

# centos 7.x 环境
yum update -y
yum install deltarpm -y
# Warning: RPMDB altered outside of yum.
# yum history sync
yum install bash-completion bash-completion-extras lsof net-tools -y
source /etc/profile
# 禁用 selinux 
setenforce 0
sed -i '/=enforcing/ s/enforcing/disabled/' /etc/selinux/config
# 添加docker-ce阿里云镜像源
yum install yum-utils -y
yum-config-manager --add-repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker-ce并启动服务
yum install docker-ce -y
systemctl enable docker --now

# 设置 Docker daemon.json,配置镜像加速,参考以下kubernetes配置
# https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "registry-mirrors" : [
  "https://registry.docker-cn.com",
  "https://docker.mirrors.ustc.edu.cn",
  "https://hub-mirror.c.163.com"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF
# https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/

# 重启 Docker 服务
systemctl daemon-reload
systemctl restart docker

# 安装 docker-compose yum安装或直接下载官网的二进制可执行文件
# yum install docker-compose -y
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

编辑sysctl参数

cat <<EOF | sudo tee /etc/sysctl.d/100-vm.max_map_count.conf
vm.max_map_count = 262144
EOF
sysctl -p

拉取sonarqube镜像

docker pull sonarqube:7.9.5-community
docker run --rm --name sonarqube sonarqube:7.9.5-community
mkdir -p /opt/sonarqube/conf
# 复制配置文件
docker cp sonarqube:/opt/sonarqube/conf/sonar.properties /opt/sonarqube/conf/
docker cp sonarqube:/opt/sonarqube/conf/wrapper.conf /opt/sonarqube/conf/
docker stop sonarqube

编辑docker-compose.yaml

 注意这三行一定要把SONAR修改成SONARQUBE,否则数据库是内置的H2
 SONARQUBE_JDBC_URL: jdbc:postgresql://db:5432/sonar
 SONARQUBE_JDBC_USERNAME: sonar
 SONARQUBE_JDBC_PASSWORD: sonar
version: "3"

services:
  sonarqube:
    image: sonarqube:7.9.5-community
    depends_on:
      - db
    ports:
      - "9000:9000"
    networks:
      - sonarnet
    environment:
      SONARQUBE_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONARQUBE_JDBC_USERNAME: sonar
      SONARQUBE_JDBC_PASSWORD: sonar
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs
      - sonarqube_temp:/opt/sonarqube/temp
      - /opt/sonarqube/conf:/opt/sonarqube/conf
  db:
    image: postgres
    ports:
      - "5432:5432"
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
    volumes:
      - postgresql:/var/lib/postgresql
      # This needs explicit mapping due to https://github.com/docker-library/postgres/blob/4e48e3228a30763913ece952c611e5e9b95c8759/Dockerfile.template#L52
      - postgresql_data:/var/lib/postgresql/data

networks:
  sonarnet:
    driver: bridge

volumes:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  sonarqube_temp:
  postgresql:
  postgresql_data:

启动容器

docker-compose up -d

ldap配置

# /opt/sonarqube/conf/sonar.properties
sonar.security.realm=LDAP
# 根据实际情况修改
ldap.url=ldap://<ldap server ip>:389
ldap.bindDn=CN=user,OU=Users,DC=example,DC=com
ldap.bindPassword=password

# User Configuration
ldap.user.baseDn=OU=Users,DC=example,DC=com
ldap.user.request=(&(objectClass=user)(sAMAccountName={login}))
ldap.user.realNameAttribute=displayName
ldap.user.emailAttribute=mail

# Group Configuration
ldap.group.baseDn=CN=group,DC=example,DC=com
ldap.group.request=(&(objectClass=group)(member={dn}))
ldap.group.idAttribute=sAMAccountName

重启容器

docker-compose restart sonarqube
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值