Tools: Swingbench in a Container: The Podman Way (2026)

Tools: Swingbench in a Container: The Podman Way (2026)

1. Creating Container file

2. Building the image locally

3. Hosting multiple architecture packages in github

4. Testing the images

5. Conclusion I wanted to start using podman closely to some tools I need to use for Oracle Databases, so I decided to start with Swingbench. I won't say much about what Swingbench does, but as described by its creator "Swingbench is a free load generator (and benchmarks) designed to stress test an Oracle database (12c, 18c, 19c, 21c, 23c)" (good old times when we called it 23c :P) It can be downloaded here Since the Dockerfile was created already (but long time ago ) I did'nt have to do much more than modify the current URL for the tool and use a more updated openjdk release: Here is the Container file: Once I have the Container file I can easily build the image: I wanted to go a step further and host the images in my github account for both AMD64 and ARM64 (for my rasperry pi testing) Login into the Repo using a token created for it (Go to GitHub Settings > Developer Settings > Personal Access Tokens (classic) and create a token with write:packages and delete:packages scopes.) Build and push the individual images (using unique tags): Create the "Global" Manifest: Now, I should be able to do testing from the server or raspi systems calling the latest tag: To be honest, not sure how much I would use it in real environment, but I can see systems where you may have access to use containers and can create your swingbench image in your organization repository so you can use from any box. In any case, if you want to give it a go, check it out here, and remember to check the original website for more updates and how to use it https://github.com/Project-42/SwingbenchContainer https://github.com/users/Project-42/packages/container/package/swingbench www.dominicgiles.com/swingbench.html Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Command

Copy

# Containerfile for swingbench # See www.dominicgiles.com/swingbench.html for further details # Based on Dockerfile: # https://github.com/domgiles/SwingbenchDocker/blob/master/Dockerfile # Updated to use 27-ea-slim FROM -weight: 500;">docker.io/openjdk:27-ea-slim # Dockerfile for swingbench # See www.dominicgiles.com/swingbench.html for further details RUN -weight: 500;">apt-get -weight: 500;">update \ && -weight: 500;">apt-get -weight: 500;">install -y -weight: 500;">curl zip \ && mkdir app \ && -weight: 500;">curl "https://downloads.dominicgiles.com/swingbenchlatest.zip" -o app/swingbench.zip WORKDIR /app RUN unzip swingbench.zip ENV PATH "$PATH:/app/swingbench/bin" WORKDIR /app/swingbench/bin # Containerfile for swingbench # See www.dominicgiles.com/swingbench.html for further details # Based on Dockerfile: # https://github.com/domgiles/SwingbenchDocker/blob/master/Dockerfile # Updated to use 27-ea-slim FROM -weight: 500;">docker.io/openjdk:27-ea-slim # Dockerfile for swingbench # See www.dominicgiles.com/swingbench.html for further details RUN -weight: 500;">apt-get -weight: 500;">update \ && -weight: 500;">apt-get -weight: 500;">install -y -weight: 500;">curl zip \ && mkdir app \ && -weight: 500;">curl "https://downloads.dominicgiles.com/swingbenchlatest.zip" -o app/swingbench.zip WORKDIR /app RUN unzip swingbench.zip ENV PATH "$PATH:/app/swingbench/bin" WORKDIR /app/swingbench/bin # Containerfile for swingbench # See www.dominicgiles.com/swingbench.html for further details # Based on Dockerfile: # https://github.com/domgiles/SwingbenchDocker/blob/master/Dockerfile # Updated to use 27-ea-slim FROM -weight: 500;">docker.io/openjdk:27-ea-slim # Dockerfile for swingbench # See www.dominicgiles.com/swingbench.html for further details RUN -weight: 500;">apt-get -weight: 500;">update \ && -weight: 500;">apt-get -weight: 500;">install -y -weight: 500;">curl zip \ && mkdir app \ && -weight: 500;">curl "https://downloads.dominicgiles.com/swingbenchlatest.zip" -o app/swingbench.zip WORKDIR /app RUN unzip swingbench.zip ENV PATH "$PATH:/app/swingbench/bin" WORKDIR /app/swingbench/bin [|=| server in ~/pods ]$ -weight: 500;">git clone https://github.com/Project-42/SwingbenchContainer.-weight: 500;">git Cloning into 'SwingbenchContainer'... remote: Enumerating objects: 12, done. remote: Counting objects: 100% (12/12), done. remote: Compressing objects: 100% (10/10), done. remote: Total 12 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) Receiving objects: 100% (12/12), done. Resolving deltas: 100% (2/2), done. [|=| server in ~/pods ]$ cd SwingbenchContainer/ [|=| server in ~/pods/SwingbenchContainer ]$ ls -lrth total 8.0K -rw-r--r--. 1 solifugo solifugo 254 Mar 30 11:14 README.md -rw-r--r--. 1 solifugo solifugo 605 Mar 30 11:14 Containerfile [|=| server in ~/pods/SwingbenchContainer ]$ podman build --progress=plain -t swingbench:v1 . STEP 1/6: FROM -weight: 500;">docker.io/openjdk:27-ea-slim Trying to pull -weight: 500;">docker.io/library/openjdk:27-ea-slim... [...] STEP 6/6: WORKDIR /app/swingbench/bin COMMIT swingbench:v1 --> 67b38a00415f Successfully tagged localhost/swingbench:v1 67b38a00415f5ec84bec8587c22b33d9896dfae7ce075cc2be36877684727abd [|=| server in ~/pods/SwingbenchContainer ]$ [|=| server in ~/pods ]$ -weight: 500;">git clone https://github.com/Project-42/SwingbenchContainer.-weight: 500;">git Cloning into 'SwingbenchContainer'... remote: Enumerating objects: 12, done. remote: Counting objects: 100% (12/12), done. remote: Compressing objects: 100% (10/10), done. remote: Total 12 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) Receiving objects: 100% (12/12), done. Resolving deltas: 100% (2/2), done. [|=| server in ~/pods ]$ cd SwingbenchContainer/ [|=| server in ~/pods/SwingbenchContainer ]$ ls -lrth total 8.0K -rw-r--r--. 1 solifugo solifugo 254 Mar 30 11:14 README.md -rw-r--r--. 1 solifugo solifugo 605 Mar 30 11:14 Containerfile [|=| server in ~/pods/SwingbenchContainer ]$ podman build --progress=plain -t swingbench:v1 . STEP 1/6: FROM -weight: 500;">docker.io/openjdk:27-ea-slim Trying to pull -weight: 500;">docker.io/library/openjdk:27-ea-slim... [...] STEP 6/6: WORKDIR /app/swingbench/bin COMMIT swingbench:v1 --> 67b38a00415f Successfully tagged localhost/swingbench:v1 67b38a00415f5ec84bec8587c22b33d9896dfae7ce075cc2be36877684727abd [|=| server in ~/pods/SwingbenchContainer ]$ [|=| server in ~/pods ]$ -weight: 500;">git clone https://github.com/Project-42/SwingbenchContainer.-weight: 500;">git Cloning into 'SwingbenchContainer'... remote: Enumerating objects: 12, done. remote: Counting objects: 100% (12/12), done. remote: Compressing objects: 100% (10/10), done. remote: Total 12 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) Receiving objects: 100% (12/12), done. Resolving deltas: 100% (2/2), done. [|=| server in ~/pods ]$ cd SwingbenchContainer/ [|=| server in ~/pods/SwingbenchContainer ]$ ls -lrth total 8.0K -rw-r--r--. 1 solifugo solifugo 254 Mar 30 11:14 README.md -rw-r--r--. 1 solifugo solifugo 605 Mar 30 11:14 Containerfile [|=| server in ~/pods/SwingbenchContainer ]$ podman build --progress=plain -t swingbench:v1 . STEP 1/6: FROM -weight: 500;">docker.io/openjdk:27-ea-slim Trying to pull -weight: 500;">docker.io/library/openjdk:27-ea-slim... [...] STEP 6/6: WORKDIR /app/swingbench/bin COMMIT swingbench:v1 --> 67b38a00415f Successfully tagged localhost/swingbench:v1 67b38a00415f5ec84bec8587c22b33d9896dfae7ce075cc2be36877684727abd [|=| server in ~/pods/SwingbenchContainer ]$ echo "*******" | podman login ghcr.io -u Project-42 --password-stdin echo "*******" | podman login ghcr.io -u Project-42 --password-stdin echo "*******" | podman login ghcr.io -u Project-42 --password-stdin # Build for amd64 podman build --platform linux/amd64 -t ghcr.io/project-42/swingbench:amd64 . podman push ghcr.io/project-42/swingbench:amd64 # Build for arm64 podman build --platform linux/arm64 -t ghcr.io/project-42/swingbench:arm64 . podman push ghcr.io/project-42/swingbench:arm64 # Build for amd64 podman build --platform linux/amd64 -t ghcr.io/project-42/swingbench:amd64 . podman push ghcr.io/project-42/swingbench:amd64 # Build for arm64 podman build --platform linux/arm64 -t ghcr.io/project-42/swingbench:arm64 . podman push ghcr.io/project-42/swingbench:arm64 # Build for amd64 podman build --platform linux/amd64 -t ghcr.io/project-42/swingbench:amd64 . podman push ghcr.io/project-42/swingbench:amd64 # Build for arm64 podman build --platform linux/arm64 -t ghcr.io/project-42/swingbench:arm64 . podman push ghcr.io/project-42/swingbench:arm64 # Create an empty list podman manifest create ghcr.io/project-42/swingbench:latest # Add both specific versions to that list podman manifest add ghcr.io/project-42/swingbench:latest -weight: 500;">docker://ghcr.io/project-42/swingbench:amd64 podman manifest add ghcr.io/project-42/swingbench:latest -weight: 500;">docker://ghcr.io/project-42/swingbench:arm64 # Push the manifest to GitHub podman manifest push ghcr.io/project-42/swingbench:latest # Create an empty list podman manifest create ghcr.io/project-42/swingbench:latest # Add both specific versions to that list podman manifest add ghcr.io/project-42/swingbench:latest -weight: 500;">docker://ghcr.io/project-42/swingbench:amd64 podman manifest add ghcr.io/project-42/swingbench:latest -weight: 500;">docker://ghcr.io/project-42/swingbench:arm64 # Push the manifest to GitHub podman manifest push ghcr.io/project-42/swingbench:latest # Create an empty list podman manifest create ghcr.io/project-42/swingbench:latest # Add both specific versions to that list podman manifest add ghcr.io/project-42/swingbench:latest -weight: 500;">docker://ghcr.io/project-42/swingbench:amd64 podman manifest add ghcr.io/project-42/swingbench:latest -weight: 500;">docker://ghcr.io/project-42/swingbench:arm64 # Push the manifest to GitHub podman manifest push ghcr.io/project-42/swingbench:latest [|=| server in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ oewizard -cl -create -cs rac1-scan:1521/PDB191 \ -u soe -p soe -dba "sys as sysdba" \ -dbap ***** -ts ts_swingbench Getting image source signatures Copying blob 421bb5d6c5ea skipped: already exists [...] Copying blob 7284c4b5e434 skipped: already exists Copying config 67b38a0041 done | Writing manifest to image destination SwingBench Wizard Author : Dominic Giles Version : 2.8.0.1630 Running in Lights Out Mode using config file : ../wizardconfigs/oewizard.xml Data Generation Runtime Metrics +-------------------------+-------------+ | Description | Value | +-------------------------+-------------+ | Connection Time | 0:00:00.008 | | Data Generation Time | 0:01:47.040 | | DDL Creation Time | 0:02:05.722 | | Total Run Time | 0:03:52.777 | | Rows Inserted per sec | 148,213 | | Actual Rows Generated | 15,887,043 | | Commits Completed | 995 | | Batch Updates Completed | 79,631 | +-------------------------+-------------+ Validation Report The schema appears to have been created successfully. Valid Objects Valid Tables : 'ORDERS','ORDER_ITEMS','CUSTOMERS', [...] Valid Sequences : 'CUSTOMER_SEQ','ORDERS_SEQ','ADDRESS_SEQ','LOGON_SEQ','CARD_DETAILS_SEQ' Valid Code : 'ORDERENTRY' Schema Created [|=| server in ~ ]$ [|=| raspi in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ charbench -u soe -p soe -cs rac1-scan:1521/PDB191 \ -c ../configs/SOE_Server_Side_V2.xml -mr Trying to pull ghcr.io/project-42/swingbench:latest... Getting image source signatures Copying blob 133e58ac4e38 skipped: already exists Copying blob 4f9e06383f5c skipped: already exists Copying blob 65f7d2377e3d skipped: already exists Copying blob 39f3ff148085 skipped: already exists Copying blob 780ee5cf234b skipped: already exists Copying config 7158508bcb done | Writing manifest to image destination Swingbench Author : Dominic Giles Version : 2.8.0.1630 Results will be written to results.xml Hit Return to Terminate Run... Time Users TPM TPS 10:42:42 AM 16 26108 640 --------------------------------------------------------------- |Results of Charbench Run | --------------------------------------------------------------- |Benchmark Name |Order Entry benchmark using serverside plsql Version 2| |Time of Run | Mar 30, 2026, 10:41:55 AM| |Length of Benchmark | 0:00:48| |Total Logon Time | 0:00:01| |Total Completed Transactions | 26910| |Total Failed Transactions | 0| |Maximum Transactions/min | 26811| |Average Transactions/sec | 560.62| |Total Select Statements | 286419| |Total Insert Statements | 49577| |Total Update Statements | 37317| |Total Delete Statements | 0| |Total Commit Statements | 27126| |Total Rollback Statements | 0| [...] |Transaction : Browse Orders | --------------------------------------------------------------- |Minimum Response Time | 3| |Maximum Response Time | 468| |Average Response Time | 19.39| |Geometric Mean Response Time | 16.20| |Median Response Time | 16.05| |Number of Transactions | 1068| |Failed Transactions | 0| |Rolled Back Transactions | 0| --------------------------------------------------------------- Saved results to results.xml Completed Run. [|=| raspi in ~ ]$ [|=| raspi in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ sbutil -u soe -p soe -cs rac1-scan:1521/PDB191 \ -soe parallel 12 -dup 1 Getting table Info Got table information. Completed in : 0:00:04.618 [...] Determining New Row Counts Got New Row Counts. Completed in : 0:00:06.011 +--------------+--------------------+---------------+---------------+----------+ | Table Name | Original Row Count | Original Size | New Row Count | New Size | +--------------+--------------------+---------------+---------------+----------+ | ORDER_ITEMS | 7,201,293 | 530 MB | 7,201,293 | 555 MB | | CUSTOMERS | 1,003,372 | 153 MB | 1,003,372 | 163 MB | | CARD_DETAILS | 1,503,372 | 94 MB | 1,503,372 | 101 MB | | ORDERS | 1,438,803 | 202 MB | 1,438,803 | 213 MB | | INVENTORIES | 897,112 | 175 MB | 897,112 | 186 MB | | ADDRESSES | 1,503,709 | 138 MB | 1,503,709 | 143 MB | | Total | | 1.3 GB | | 1.3 GB | +--------------+--------------------+---------------+---------------+----------+ Completeted duplication for the order entry schema [|=| raspi in ~ ]$ [|=| server in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ oewizard -cl -create -cs rac1-scan:1521/PDB191 \ -u soe -p soe -dba "sys as sysdba" \ -dbap ***** -ts ts_swingbench Getting image source signatures Copying blob 421bb5d6c5ea skipped: already exists [...] Copying blob 7284c4b5e434 skipped: already exists Copying config 67b38a0041 done | Writing manifest to image destination SwingBench Wizard Author : Dominic Giles Version : 2.8.0.1630 Running in Lights Out Mode using config file : ../wizardconfigs/oewizard.xml Data Generation Runtime Metrics +-------------------------+-------------+ | Description | Value | +-------------------------+-------------+ | Connection Time | 0:00:00.008 | | Data Generation Time | 0:01:47.040 | | DDL Creation Time | 0:02:05.722 | | Total Run Time | 0:03:52.777 | | Rows Inserted per sec | 148,213 | | Actual Rows Generated | 15,887,043 | | Commits Completed | 995 | | Batch Updates Completed | 79,631 | +-------------------------+-------------+ Validation Report The schema appears to have been created successfully. Valid Objects Valid Tables : 'ORDERS','ORDER_ITEMS','CUSTOMERS', [...] Valid Sequences : 'CUSTOMER_SEQ','ORDERS_SEQ','ADDRESS_SEQ','LOGON_SEQ','CARD_DETAILS_SEQ' Valid Code : 'ORDERENTRY' Schema Created [|=| server in ~ ]$ [|=| raspi in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ charbench -u soe -p soe -cs rac1-scan:1521/PDB191 \ -c ../configs/SOE_Server_Side_V2.xml -mr Trying to pull ghcr.io/project-42/swingbench:latest... Getting image source signatures Copying blob 133e58ac4e38 skipped: already exists Copying blob 4f9e06383f5c skipped: already exists Copying blob 65f7d2377e3d skipped: already exists Copying blob 39f3ff148085 skipped: already exists Copying blob 780ee5cf234b skipped: already exists Copying config 7158508bcb done | Writing manifest to image destination Swingbench Author : Dominic Giles Version : 2.8.0.1630 Results will be written to results.xml Hit Return to Terminate Run... Time Users TPM TPS 10:42:42 AM 16 26108 640 --------------------------------------------------------------- |Results of Charbench Run | --------------------------------------------------------------- |Benchmark Name |Order Entry benchmark using serverside plsql Version 2| |Time of Run | Mar 30, 2026, 10:41:55 AM| |Length of Benchmark | 0:00:48| |Total Logon Time | 0:00:01| |Total Completed Transactions | 26910| |Total Failed Transactions | 0| |Maximum Transactions/min | 26811| |Average Transactions/sec | 560.62| |Total Select Statements | 286419| |Total Insert Statements | 49577| |Total Update Statements | 37317| |Total Delete Statements | 0| |Total Commit Statements | 27126| |Total Rollback Statements | 0| [...] |Transaction : Browse Orders | --------------------------------------------------------------- |Minimum Response Time | 3| |Maximum Response Time | 468| |Average Response Time | 19.39| |Geometric Mean Response Time | 16.20| |Median Response Time | 16.05| |Number of Transactions | 1068| |Failed Transactions | 0| |Rolled Back Transactions | 0| --------------------------------------------------------------- Saved results to results.xml Completed Run. [|=| raspi in ~ ]$ [|=| raspi in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ sbutil -u soe -p soe -cs rac1-scan:1521/PDB191 \ -soe parallel 12 -dup 1 Getting table Info Got table information. Completed in : 0:00:04.618 [...] Determining New Row Counts Got New Row Counts. Completed in : 0:00:06.011 +--------------+--------------------+---------------+---------------+----------+ | Table Name | Original Row Count | Original Size | New Row Count | New Size | +--------------+--------------------+---------------+---------------+----------+ | ORDER_ITEMS | 7,201,293 | 530 MB | 7,201,293 | 555 MB | | CUSTOMERS | 1,003,372 | 153 MB | 1,003,372 | 163 MB | | CARD_DETAILS | 1,503,372 | 94 MB | 1,503,372 | 101 MB | | ORDERS | 1,438,803 | 202 MB | 1,438,803 | 213 MB | | INVENTORIES | 897,112 | 175 MB | 897,112 | 186 MB | | ADDRESSES | 1,503,709 | 138 MB | 1,503,709 | 143 MB | | Total | | 1.3 GB | | 1.3 GB | +--------------+--------------------+---------------+---------------+----------+ Completeted duplication for the order entry schema [|=| raspi in ~ ]$ [|=| server in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ oewizard -cl -create -cs rac1-scan:1521/PDB191 \ -u soe -p soe -dba "sys as sysdba" \ -dbap ***** -ts ts_swingbench Getting image source signatures Copying blob 421bb5d6c5ea skipped: already exists [...] Copying blob 7284c4b5e434 skipped: already exists Copying config 67b38a0041 done | Writing manifest to image destination SwingBench Wizard Author : Dominic Giles Version : 2.8.0.1630 Running in Lights Out Mode using config file : ../wizardconfigs/oewizard.xml Data Generation Runtime Metrics +-------------------------+-------------+ | Description | Value | +-------------------------+-------------+ | Connection Time | 0:00:00.008 | | Data Generation Time | 0:01:47.040 | | DDL Creation Time | 0:02:05.722 | | Total Run Time | 0:03:52.777 | | Rows Inserted per sec | 148,213 | | Actual Rows Generated | 15,887,043 | | Commits Completed | 995 | | Batch Updates Completed | 79,631 | +-------------------------+-------------+ Validation Report The schema appears to have been created successfully. Valid Objects Valid Tables : 'ORDERS','ORDER_ITEMS','CUSTOMERS', [...] Valid Sequences : 'CUSTOMER_SEQ','ORDERS_SEQ','ADDRESS_SEQ','LOGON_SEQ','CARD_DETAILS_SEQ' Valid Code : 'ORDERENTRY' Schema Created [|=| server in ~ ]$ [|=| raspi in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ charbench -u soe -p soe -cs rac1-scan:1521/PDB191 \ -c ../configs/SOE_Server_Side_V2.xml -mr Trying to pull ghcr.io/project-42/swingbench:latest... Getting image source signatures Copying blob 133e58ac4e38 skipped: already exists Copying blob 4f9e06383f5c skipped: already exists Copying blob 65f7d2377e3d skipped: already exists Copying blob 39f3ff148085 skipped: already exists Copying blob 780ee5cf234b skipped: already exists Copying config 7158508bcb done | Writing manifest to image destination Swingbench Author : Dominic Giles Version : 2.8.0.1630 Results will be written to results.xml Hit Return to Terminate Run... Time Users TPM TPS 10:42:42 AM 16 26108 640 --------------------------------------------------------------- |Results of Charbench Run | --------------------------------------------------------------- |Benchmark Name |Order Entry benchmark using serverside plsql Version 2| |Time of Run | Mar 30, 2026, 10:41:55 AM| |Length of Benchmark | 0:00:48| |Total Logon Time | 0:00:01| |Total Completed Transactions | 26910| |Total Failed Transactions | 0| |Maximum Transactions/min | 26811| |Average Transactions/sec | 560.62| |Total Select Statements | 286419| |Total Insert Statements | 49577| |Total Update Statements | 37317| |Total Delete Statements | 0| |Total Commit Statements | 27126| |Total Rollback Statements | 0| [...] |Transaction : Browse Orders | --------------------------------------------------------------- |Minimum Response Time | 3| |Maximum Response Time | 468| |Average Response Time | 19.39| |Geometric Mean Response Time | 16.20| |Median Response Time | 16.05| |Number of Transactions | 1068| |Failed Transactions | 0| |Rolled Back Transactions | 0| --------------------------------------------------------------- Saved results to results.xml Completed Run. [|=| raspi in ~ ]$ [|=| raspi in ~ ]$ podman run --name swingbench --rm -i -t ghcr.io/project-42/swingbench:latest \ sbutil -u soe -p soe -cs rac1-scan:1521/PDB191 \ -soe parallel 12 -dup 1 Getting table Info Got table information. Completed in : 0:00:04.618 [...] Determining New Row Counts Got New Row Counts. Completed in : 0:00:06.011 +--------------+--------------------+---------------+---------------+----------+ | Table Name | Original Row Count | Original Size | New Row Count | New Size | +--------------+--------------------+---------------+---------------+----------+ | ORDER_ITEMS | 7,201,293 | 530 MB | 7,201,293 | 555 MB | | CUSTOMERS | 1,003,372 | 153 MB | 1,003,372 | 163 MB | | CARD_DETAILS | 1,503,372 | 94 MB | 1,503,372 | 101 MB | | ORDERS | 1,438,803 | 202 MB | 1,438,803 | 213 MB | | INVENTORIES | 897,112 | 175 MB | 897,112 | 186 MB | | ADDRESSES | 1,503,709 | 138 MB | 1,503,709 | 143 MB | | Total | | 1.3 GB | | 1.3 GB | +--------------+--------------------+---------------+---------------+----------+ Completeted duplication for the order entry schema [|=| raspi in ~ ]$ - 1. Creating Container file - 2. Building the image locally - 3. Hosting multiple architecture packages in github - 4. Testing the images - 5. Conclusion