1version: "2"
2services:
3    rabbitmq:
4        image: rabbitmq
5        ports:
6          - "5672:5672"
7        hostname: rabbitmq
8        networks:
9            cindernet:
10                ipv4_address: 172.49.49.5
11    mariadb:
12        image: mariadb
13        hostname: mariadb
14        environment:
15          - MYSQL_ROOT_PASSWORD=password
16        ports:
17          - 3306:3306
18        networks:
19            cindernet:
20                ipv4_address: 172.49.49.6
21        volumes:
22            - ./.db_data:/var/lib/mysql
23            - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
24    cinder-api:
25        image: debian-cinder
26        hostname: cinder-api
27        volumes:
28            - ./etc:/etc/cinder
29            - ./scripts:/scripts
30        network_mode: "host"
31        ports:
32            - 8776:8776
33        depends_on:
34          - mariadb
35        extra_hosts:
36            - "rabbitmq:172.49.49.5"
37            - "mariadb:172.49.49.6"
38        environment:
39            - INIT_DB=true
40        command: sh /scripts/cinder-api.sh
41    cinder-scheduler:
42        image: debian-cinder
43        hostname: cinder-scheduler
44        volumes:
45            - ./etc:/etc/cinder
46        depends_on:
47          - mariadb
48          - rabbitmq
49          - cinder-api
50        extra_hosts:
51            - "rabbitmq:172.49.49.5"
52            - "mariadb:172.49.49.6"
53        network_mode: "host"
54        depends_on:
55          - cinder-api
56        restart: on-failure
57        command: cinder-scheduler
58    cinder-volume:
59        image: lvm-debian-cinder
60        hostname: cinder-lvm
61        privileged: true
62        volumes:
63            - ./etc:/etc/cinder
64            - /dev/:/dev/
65            - /run/:/run/:shared
66            - /etc/localtime:/etc/localtime:ro
67            - /lib/modules:/lib/modules:ro
68            - ./scripts:/scripts
69        depends_on:
70          - cinder-scheduler
71        ports:
72            - 3260:3260
73        extra_hosts:
74            - "rabbitmq:172.49.49.5"
75            - "mariadb:172.49.49.6"
76        network_mode: "host"
77        restart: on-failure
78        command: bash -c "/scripts/lvm-service.sh"
79
80networks:
81    cindernet:
82        driver: bridge
83        ipam:
84            driver: default
85            config:
86            -
87              subnet: 172.49.49.0/24
88