Источники по которым был написан материал:
Сервер или виртуальная машина Linux
- Подойдет любая x64 OS, на которую можно установить Docker. В текущем примере будет использоваться Linux Mint на WMvare.
- Если используется виртуальная машина на базе Hyper-V
Установка Docker и Portainer
- Основная информация по установке Docker
- Шаги после установки Docker
- Установка Portainer
Установка необходимых утилит
Установка необходимых контейнеров
- Требуется создать файл
docker-compose.ymlсо следующим содержимым
services:
registry:
image: registry:latest
container_name: registry
restart: always
ports:
- 5000:5000
volumes:
- ./registry:/var/lib/registry
networks:
- internal
samba:
image: dockurr/samba
container_name: samba
environment:
NAME: "data"
USER: ${SMB_USER}
PASS: ${SMB_PASSWORD}
ports:
- 445:445
volumes:
- ./samba:/storage
restart: always
jenkins:
image: jenkins/jenkins:lts-jdk21
restart: on-failure
container_name: jenkins
privileged: true
user: root
ports:
- 8080:8080
- 50000:50000
volumes:
- /home/srvadmin/docker/docker_jenkins_data/_data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
extra_hosts:
- "swarm-ca:192.168.48.6"
networks:
- internal
postgresql:
container_name: sonar-postgresql
restart: always
image: postgres:11
networks:
- sonarnetwork
- internal
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=${SQ_POSTGRES_PASSWORD}
volumes:
- sq_postgres:/var/lib/postgresql
- sq_postgres_data:/var/lib/postgresql/data
sonar:
container_name: sonar
restart: always
image: daabramov/sonarfor1c:10.8-community
ports:
- "9000:9000"
depends_on:
- postgresql
ulimits:
nofile:
soft: 65535
hard: 65535
networks:
- sonarnetwork
- internal
environment:
- SONAR_WEB_JAVAOPTS=-server -Xms1g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError
- SONAR_CE_JAVAOPTS=-Xms4g -Xmx4g -XX:+HeapDumpOnOutOfMemoryError
- SONAR_SEARCH_JAVAOPTS=-Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError
- SONAR_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar
- SONAR_JDBC_USERNAME=sonar
- SONAR_JDBC_PASSWORD=${SQ_POSTGRES_PASSWORD}
volumes:
- sonarqube_conf:/opt/sonarqube/conf
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_temp:/opt/sonarqube/temp
- sonarqube_logs:/opt/sonarqube/logs
networks:
sonarnetwork:
driver: bridge
internal:
external: true
volumes:
jenkins_data:
sq_postgres:
sq_postgres_data:
sonarqube_conf:
sonarqube_data:
sonarqube_extensions:
sonarqube_temp:
sonarqube_logs: