xref: /spdk/docker/docker-compose.yaml (revision a6dbe3721eb3b5990707fc3e378c95e505dd8ab5)
1e8ea27f8SMichal Berger# SPDX-License-Identifier: Apache-2.0
2*a6dbe372Spaul luse# Copyright (C) 2021 Intel Corporation
3*a6dbe372Spaul luse#
4*a6dbe372Spaul luse
5e8ea27f8SMichal Bergerversion: "3.8"
6e8ea27f8SMichal Bergerservices:
7e8ea27f8SMichal Berger  build_base:
8e8ea27f8SMichal Berger    image: spdk
9e8ea27f8SMichal Berger    build:
10e8ea27f8SMichal Berger      context: build_base
11e8ea27f8SMichal Berger    container_name: build_base
12e8ea27f8SMichal Berger  storage-target:
13e8ea27f8SMichal Berger    image: spdk-app
14e8ea27f8SMichal Berger    build:
15e8ea27f8SMichal Berger      context: spdk-app
16e8ea27f8SMichal Berger    container_name: storage-target
17e8ea27f8SMichal Berger    depends_on:
18e8ea27f8SMichal Berger      - build_base
19e8ea27f8SMichal Berger    networks:
20e8ea27f8SMichal Berger      spdk:
21e8ea27f8SMichal Berger        ipv4_address: 192.168.42.2
22e8ea27f8SMichal Berger    volumes:
23e8ea27f8SMichal Berger      - /dev/hugepages:/dev/hugepages
24e8ea27f8SMichal Berger      - ./spdk-app/storage-target.conf:/config
25e8ea27f8SMichal Berger    environment:
26e8ea27f8SMichal Berger      - SPDK_ARGS=-m 0x2
27e8ea27f8SMichal Berger    privileged: true
28e8ea27f8SMichal Berger  proxy-container:
29e8ea27f8SMichal Berger    image: spdk-app
30e8ea27f8SMichal Berger    build:
31e8ea27f8SMichal Berger      context: spdk-app
32e8ea27f8SMichal Berger    container_name: proxy-container
33e8ea27f8SMichal Berger    depends_on:
34e8ea27f8SMichal Berger      - storage-target
35e8ea27f8SMichal Berger    networks:
36e8ea27f8SMichal Berger      spdk:
37e8ea27f8SMichal Berger        ipv4_address: 192.168.42.3
38e8ea27f8SMichal Berger    volumes:
39e8ea27f8SMichal Berger      - /dev/hugepages:/dev/hugepages
40e8ea27f8SMichal Berger      - ./spdk-app/proxy-container.conf:/config
4115b0fb3aSTomasz Zawadzki      - vhost-user:/vhost-user
42e8ea27f8SMichal Berger    environment:
4315b0fb3aSTomasz Zawadzki      - SPDK_ARGS=-m 0x4 -S /vhost-user
44e8ea27f8SMichal Berger    privileged: true
4515b0fb3aSTomasz Zawadzki  traffic-generator-virtio:
46e8ea27f8SMichal Berger    image: traffic-generator
47e8ea27f8SMichal Berger    build:
48e8ea27f8SMichal Berger      context: traffic-generator
4915b0fb3aSTomasz Zawadzki    container_name: traffic-generator-virtio
50e8ea27f8SMichal Berger    depends_on:
51e8ea27f8SMichal Berger      - proxy-container
52e8ea27f8SMichal Berger    networks:
53e8ea27f8SMichal Berger      spdk:
54e8ea27f8SMichal Berger    volumes:
55e8ea27f8SMichal Berger      - /dev/hugepages:/dev/hugepages
5615b0fb3aSTomasz Zawadzki      - ./traffic-generator/conf-virtio:/config
5715b0fb3aSTomasz Zawadzki      - vhost-user:/vhost-user
5815b0fb3aSTomasz Zawadzki      - ./traffic-generator/fio-virtio.conf:/fio.conf
5915b0fb3aSTomasz Zawadzki    privileged: true
6015b0fb3aSTomasz Zawadzki  traffic-generator-nvme:
6115b0fb3aSTomasz Zawadzki    image: traffic-generator
6215b0fb3aSTomasz Zawadzki    build:
6315b0fb3aSTomasz Zawadzki      context: traffic-generator
6415b0fb3aSTomasz Zawadzki    container_name: traffic-generator-nvme
6515b0fb3aSTomasz Zawadzki    depends_on:
6615b0fb3aSTomasz Zawadzki      - proxy-container
6715b0fb3aSTomasz Zawadzki    networks:
6815b0fb3aSTomasz Zawadzki      spdk:
6915b0fb3aSTomasz Zawadzki    volumes:
7015b0fb3aSTomasz Zawadzki      - /dev/hugepages:/dev/hugepages
7115b0fb3aSTomasz Zawadzki      - ./traffic-generator/conf-nvme:/config
7215b0fb3aSTomasz Zawadzki      - ./traffic-generator/fio-nvme.conf:/fio.conf
73e8ea27f8SMichal Berger    privileged: true
74e8ea27f8SMichal Bergernetworks:
75e8ea27f8SMichal Berger  spdk:
76e8ea27f8SMichal Berger    name: "spdk"
77e8ea27f8SMichal Berger    ipam:
78e8ea27f8SMichal Berger      config:
79e8ea27f8SMichal Berger        - subnet: 192.168.42.0/29
80e8ea27f8SMichal Berger          gateway: 192.168.42.1
8115b0fb3aSTomasz Zawadzkivolumes:
8215b0fb3aSTomasz Zawadzki  vhost-user:
83