Docker-compose安装SonarQube


文章目录

  • Docker-compose安装SonarQube
  • 1.安装Docker-compose
  • 1.Linux官方推荐方法安装Docker-Compose
  • 2.编写docker-compose.yml文件
  • 2.拉取相关镜像并运行
  • 2.1拉取相关镜像
  • 2.2拉取相关镜像
  • 2.3创建网桥
  • 2.3编写docker-compose.yml文件
  • 3.2.查询docker-compose.yml文件位置
  • 3.4 Portainer 可视化工具


1.安装Docker-compose

1.Linux官方推荐方法安装Docker-Compose

Linux系统默认是没有安装docker-compose工具的,可以进入下面的网址。

https://docs.docker.com/desktop/

进入亡之后,选择Product Manuals —>Docker compose—>Liunx后,可以看到三条命令,依次执行就可以安装docker-compose工具了。

第一条命令:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 或者
yum install docker-compose

如果一次安装不成功,可以多安装几次。一般是网络问题。

第二条命令:

sudo chmod +x /usr/local/bin/docker-compose

第三条命令:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

安装好以后,用docker-compose --version 进行检查,如果能出现版本,说明安装成功了。

查看是否安装成功:

docker-compose --version

Docker-compose安装SonarQube_bc

2.编写docker-compose.yml文件

查询docker-comcpose.yml文件位置,并进行修改。

whereis docker-compose.yml
# 或者
locate docker-compose.yml
# 或者
find / -name "docker-compose*"

Docker-compose安装SonarQube_Docker_02

2.拉取相关镜像并运行

2.1拉取相关镜像

# 拉取sonarqube镜像
$ docker pull sonarqube:9.1.0-community (推荐使用) /  $ docker pull sonarqube:7.6-community
# 拉取postgres镜像
$ docker pull postgres:9.6.23

2.2拉取相关镜像

创建目录:

# 创建目录
mkdir -p /opt/sonarqube

# 进入目录文件夹下面
cd /opt/sonarqube

# 创建文件docker-compose.yml
touch docker-compose.yml

# 保存镜像
docker save -o sonarqube.tar sonarqube:9.1.0-community
docker save -o postgres.tar postgres:9.6.23
docker save -o portainer.tar portainer/portainer

docker load -i postgres.tar

2.3创建网桥

使sonarqube容器与postgres在同一个网桥中

docker network create sonarnet

查看创建的网桥

docker network ls

2.3编写docker-compose.yml文件

docker-compose.yml

version: "3.2"

services:
  sonarqube: #服务名称
    container_name: sonarqube # 相当于run 的 --name
    image: sonarqube:9.1.0-community
    restart: always
    ports:
      - "9001:9000"
    depends_on:
      - postgres
    networks:
      - sonarnet
    environment:
      - sonar.jdbc.username=sonar
      - sonar.jdbc.password=123456
      - sonar.jdbc.url=jdbc:postgresql://postgres:5432/sonarqube
      - SONARQUBE_JDBC_USERNAME=sonar
      - SONARQUBE_JDBC_PASSWORD=123456
      - SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonarqube
    volumes:
      - /home/sonar/sonarqube/extensions:/opt/sonarqube/extensions
      - /home/sonar/sonarqube/logs:/opt/sonarqube/logs
      - /home/sonar/sonarqube/data:/opt/sonarqube/data
      - /home/sonar/sonarqube/conf:/opt/sonarqube/conf

  postgres:
    container_name: postgres # 相当于run 的 --name
    image: postgres:9.6.23
    restart: always
    ports:
      - 5432:5432
    networks:
      - sonarnet
    environment:
      - ES_JAVA_POTS="-Xms128m -Xmx128m"
      - TZ=Asia/Shanghai
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=123456
      - POSTGRES_DB=sonarqube
    volumes:
      - /home/sonar/postgres/postgresql:/var/lib/postgresql
      - /home/sonar/postgres/data:/var/lib/postgresql/data

  potainer:
    container_name: potainer # 相当于run 的 --name
    image: portainer/portainer
    container_name: portainer
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    ports:
      - "8000:8000"
      - "9000:9000"

volumes:
  portainer_data:

networks:
  sonarnet:
    driver: bridge
    external:
      true   #使用外部指定网桥  注意:网桥必须存在

终端里输入下面的命令,就可以开启wordpress容器了。

docker-compose up

但这时候的容器开启方式是有日志输出的,并且窗口被占用了。没办法进行其它操作了。可以加入-d参数,解决这个问题。

docker-compose up -d

3.2.查询docker-compose.yml文件位置

查询docker-compose.yml文件位置,并进行修改。

whereis docker-compose.yml
# 或者
locate docker-compose.yml

# 查看相关的yml文件路径
find / -name "docker-compose.yml"

Docker-compose安装SonarQube_Docker_02

3.4 Portainer 可视化工具

Docker-compose安装SonarQube_运维_04

输入用户名和密码:

用户名:admin

密码:12345678

Docker-compose安装SonarQube_bc_05

Manage the Docker environment where Portainer is running.

Ensure that you have started the Portainer container with the following Docker flag:

-v "/var/run/docker.sock:/var/run/docker.sock" (Linux).

or

-v \\.\pipe\docker_engine:\\.\pipe\docker_engine (Windows).