From 86cf9e5c31d77d0606cfbbd177354571a9580204 Mon Sep 17 00:00:00 2001
From: Chris Coley <chris@codingallnight.com>
Date: Sun, 20 Apr 2025 17:07:50 -0700
Subject: [PATCH] Push images to Docker Hub
---
.gitlab-ci.yml | 8 ++++++++
README.md | 42 +++++++++++++++++++++++++++++++++++++++---
2 files changed, 47 insertions(+), 3 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d25cd77..ea8c658 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,9 @@ stages:
- test
- release
+variables:
+ DOCKER_HUB_REPO: ccoley/iperf
+
.build:
@@ -79,6 +82,7 @@ test:iperf3:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
before_script:
- crane auth login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
+ - crane auth login -u "$DOCKER_HUB_USERNAME" -p "$DOCKER_HUB_TOKEN" index.docker.io
release:iperf2:
extends: .release
@@ -86,6 +90,8 @@ release:iperf2:
script:
- crane tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-iperf2 2.2
- crane tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-iperf2 2
+ - crane copy ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-iperf2 ${DOCKER_HUB_REPO}:2.2
+ - crane tag ${DOCKER_HUB_REPO}:2.2 2
release:iperf3:
extends: .release
@@ -93,5 +99,7 @@ release:iperf3:
script:
- crane tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-iperf3 3.17
- crane tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-iperf3 3
+ - crane copy ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-iperf3 ${DOCKER_HUB_REPO}:3.17
+ - crane tag ${DOCKER_HUB_REPO}:3.17 3
# vi: set ts=2 sw=2 et ft=yaml:
diff --git a/README.md b/README.md
index 07e6a27..d5ed2e5 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,44 @@
-# iPerf
+# iPerf Image
-This is an image for running iPerf. Both iPerf 2 and iPerf 3 are available.
+This repo builds two Docker images meant for use as an iperf server.
-iPerf runs in server mode with default port and settings.
+## Tags
+
+There are images available with iPerf 2 or iPerf 3.
+
+- `3.17`, `3` contain iPerf 3
+- `2.2`, `2` contain iPerf 2
+
+## Usage
+
+The images default to running in server mode on the default port, which is 5001 for iPerf 2 and 5201 for iPerf 3.
+
+### Server Mode
+
+Running an iPerf 3 server:
+
+```bash
+docker run --rm -p 5201:5201 ccoley/iperf:3
+```
+
+Running an iPerf 2 server:
+
+```bash
+docker run --rm -p 5001:5001 ccoley/iperf:2
+```
+
+### Client Mode
+
+Running iPerf 3 in client mode:
+
+```bash
+docker run --rm -t ccoley/iperf:3 -c <iperf3-server>
+```
+
+Running iPerf 2 in client mode:
+```bash
+docker run --rm -t ccoley/iperf:2 -c <iperf2-server> -i 1
+```
--
GitLab