DEV Community

Tossapol Ritcharoenwattu
Tossapol Ritcharoenwattu

Posted on

การใช้ docker compose ในการติดตั้ง sonarqube ใน rocky linux

เราจะมาลองใช้ docker compose ในการติดตั้ง sonarqube ซึ่งเราจะใช้เป็น community version ใน rocky linux กัน

docker compose คือไฟล์ docker-compose.yml ไฟล์นี้จะเก็บการตั้งค่าทั้งหมดของ services (container) ที่เราต้องการรัน
หลักการทำงาน:
docker-compose up: คำสั่งนี้จะอ่านไฟล์ docker-compose.yml แล้วสร้าง (หรืออัปเดต) และสตาร์ท container ทั้งหมดที่กำหนดไว้

เพิ่ม -d (ย่อมาจาก detach) เป็น docker-compose up -d เพื่อให้ container ทำงานอยู่เบื้องหลัง (background) และเรายังสามารถใช้ terminal ต่อได้

docker-compose down: คำสั่งนี้จะหยุดและลบ container, network, และ volume (ที่เป็น default) ที่สร้างโดย docker-compose up

้เราจะสร้างไฟล์ docker-compose.yml สำหรับ sonarqube กัน
docker-compose.yml

version: "3"

services:
  sonarqube:
    image: sonarqube:lts-community
    container_name: sonarqube
    ports:
      - "9000:9000"
    **restart: always**
    environment:
      - SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonar
      - SONAR_JDBC_USERNAME=sonar
      - SONAR_JDBC_PASSWORD=sonar
    volumes:
      - sonarqube_conf:/opt/sonarqube/conf
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs
    depends_on:
      - db

  db:
    image: postgres:12
    container_name: sonarqube_db
    **restart: always**
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
      - POSTGRES_DB=sonar
    volumes:
      - postgresql:/var/lib/postgresql/data

volumes:
  sonarqube_conf:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  postgresql:
Enter fullscreen mode Exit fullscreen mode

ก่อนที่เราจะสั่งให้ docker compose ทำงาน สำหรับ sonarqube เนื่องจากเป็นโปรแกรมที่ต้องใช้หน่วยความจำสูง เพราะมีการใช้งาน database และ elasticsearch เราจึงต้องกำหนดหน่วยความจำที่ใช้ได้ก่อน ด้วยคำสั่ง(ทำครั้งเดียวพอ)

sudo sysctl -w vm.max_map_count=262144
Enter fullscreen mode Exit fullscreen mode

เราจะสั่ง run ด้วย command นี้ครับ

docker compose up -d
Enter fullscreen mode Exit fullscreen mode

ลอง check ดูว่า มี container ถูกสร้างขึ้นมาหรือไม่ด้วยคำสั่ง

docker ps
Enter fullscreen mode Exit fullscreen mode

จะเห็น container ถูกสร้างขึ้นมา 2 อัน คือ sonarqube และ postgres ตามที่เขียนไว้ในไฟลื docker-compose.yml

ลองใช้งานโดยเข้า url : http://localhost:9000

Top comments (0)