xref: /spdk/docker/docker-compose.yaml (revision a6dbe3721eb3b5990707fc3e378c95e505dd8ab5)
1# SPDX-License-Identifier: Apache-2.0
2# Copyright (C) 2021 Intel Corporation
3#
4
5version: "3.8"
6services:
7  build_base:
8    image: spdk
9    build:
10      context: build_base
11    container_name: build_base
12  storage-target:
13    image: spdk-app
14    build:
15      context: spdk-app
16    container_name: storage-target
17    depends_on:
18      - build_base
19    networks:
20      spdk:
21        ipv4_address: 192.168.42.2
22    volumes:
23      - /dev/hugepages:/dev/hugepages
24      - ./spdk-app/storage-target.conf:/config
25    environment:
26      - SPDK_ARGS=-m 0x2
27    privileged: true
28  proxy-container:
29    image: spdk-app
30    build:
31      context: spdk-app
32    container_name: proxy-container
33    depends_on:
34      - storage-target
35    networks:
36      spdk:
37        ipv4_address: 192.168.42.3
38    volumes:
39      - /dev/hugepages:/dev/hugepages
40      - ./spdk-app/proxy-container.conf:/config
41      - vhost-user:/vhost-user
42    environment:
43      - SPDK_ARGS=-m 0x4 -S /vhost-user
44    privileged: true
45  traffic-generator-virtio:
46    image: traffic-generator
47    build:
48      context: traffic-generator
49    container_name: traffic-generator-virtio
50    depends_on:
51      - proxy-container
52    networks:
53      spdk:
54    volumes:
55      - /dev/hugepages:/dev/hugepages
56      - ./traffic-generator/conf-virtio:/config
57      - vhost-user:/vhost-user
58      - ./traffic-generator/fio-virtio.conf:/fio.conf
59    privileged: true
60  traffic-generator-nvme:
61    image: traffic-generator
62    build:
63      context: traffic-generator
64    container_name: traffic-generator-nvme
65    depends_on:
66      - proxy-container
67    networks:
68      spdk:
69    volumes:
70      - /dev/hugepages:/dev/hugepages
71      - ./traffic-generator/conf-nvme:/config
72      - ./traffic-generator/fio-nvme.conf:/fio.conf
73    privileged: true
74networks:
75  spdk:
76    name: "spdk"
77    ipam:
78      config:
79        - subnet: 192.168.42.0/29
80          gateway: 192.168.42.1
81volumes:
82  vhost-user:
83