https://github.com/opiproject/spdk
Dockerfile for https://github.com/spdk/spdk
https://github.com/opiproject/spdk
docker spdk storage
Last synced: 12 months ago
JSON representation
Dockerfile for https://github.com/spdk/spdk
- Host: GitHub
- URL: https://github.com/opiproject/spdk
- Owner: opiproject
- License: apache-2.0
- Created: 2023-02-16T20:07:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-06-17T20:35:42.000Z (about 1 year ago)
- Last Synced: 2025-06-17T21:37:04.710Z (about 1 year ago)
- Topics: docker, spdk, storage
- Language: Dockerfile
- Homepage:
- Size: 65.4 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Storage Performance Development Kit (SPDK)
[](https://github.com/opiproject/spdk/actions/workflows/linters.yml)
[](https://github.com/opiproject/spdk/actions/workflows/docker-publish.yml)
[](https://app.travis-ci.com/opiproject/spdk)
[](https://github.com/opiproject/spdk/blob/master/LICENSE)
[](https://hub.docker.com/r/opiproject/spdk)
[](https://github.com/opiproject/spdk/releases)
[](https://github.com/opiproject/spdk)
[](https://github.com/opiproject/spdk/graphs/contributors)
The Storage Performance Development Kit (SPDK) provides a set of tools and libraries for writing high performance, scalable, user-mode storage applications. It achieves high performance by moving all of the necessary drivers into userspace and operating in a polled mode instead of relying on interrupts, which avoids kernel context switches and eliminates interrupt handling overhead.
This project contains Dockerfile for
## I Want To Contribute
This project welcomes contributions and suggestions. We are happy to have the Community involved via submission of **Issues and Pull Requests** (with substantive content or even just fixes). We are hoping for the documents, test framework, etc. to become a community process with active engagement. PRs can be reviewed by by any number of people, and a maintainer may accept.
See [CONTRIBUTING](https://github.com/opiproject/opi/blob/main/CONTRIBUTING.md) and [GitHub Basic Process](https://github.com/opiproject/opi/blob/main/doc-github-rules.md) for more details.
## Installation
There are several ways of running spdk.
### Docker
```sh
docker pull opiproject/spdk:
```
You can specify a version like `v22.09` or use `latest` to get the most up-to-date version.
```sh
docker run --rm opiproject/spdk:
```
### Compose
:exclamation: `docker-compose` is deprecated. For details, see [Migrate to Compose V2](https://docs.docker.com/compose/migrate/).
```sh
docker-compose up --build --force-recreate
```
## Test SPDK RPC proxy
See documentation [JSON RPC Proxy](https://spdk.io/doc/jsonrpc_proxy.html)
```text
$ curl -k --user spdkuser:spdkpass -X POST -H "Content-Type: application/json" -d '{"id": 1, "method": "bdev_get_bdevs", "params": {"name": "Malloc0"}}' http://127.0.0.1:9009/
{"jsonrpc":"2.0","id":1,"result":[{"name":"Malloc0","aliases":["f1c5d95a-b235-40af-9e4d-2c0b3320de80"],"product_name":"Malloc disk","block_size":512,"num_blocks":131072,"uuid":"f1c5d95a-b235-40af-9e4d-2c0b3320de80","assigned_rate_limits":{"rw_ios_per_sec":0,"rw_mbytes_per_sec":0,"r_mbytes_per_sec":0,"w_mbytes_per_sec":0},"claimed":false,"zoned":false,"supported_io_types":{"read":true,"write":true,"unmap":true,"write_zeroes":true,"flush":true,"reset":true,"nvme_admin":false,"nvme_io":false},"driver_specific":{}}]}
```
## Test Nvme
```text
docker run --rm --network=host --privileged -v /dev/hugepages:/dev/hugepages \
ghcr.io/opiproject/spdk:main \
spdk_nvme_perf \
-r 'traddr:127.0.0.1 trtype:TCP adrfam:IPv4 trsvcid:5555 subnqn:nqn.2016-06.io.spdk:cnode1 hostnqn:nqn.2014-08.org.nvmexpress:uuid:feb98abe-d51f-40c8-b348-2753f3571d3c' \
-c 0x1 -q 1 -o 4096 -w randread -t 10
```