agentsclimarketplace

Docker container volume mounting

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/docker-container-volume-mounting

Curated, evidence-grounded skill and software-tool collections for scientific AI agents, generated by the AgenticScienceBuilder

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill docker-container-volume-mounting

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when when you have vendor raw mass spectrometry files on the host machine that need to be processed by a containerized tool (e.g., AirdPro), and the container must read input from and write output to specific host paths. Typical trigger: you have a .

The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.2 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

docker-container-volume-mounting

Summary

Mount host filesystem directories into Docker containers to enable input/output file exchange and persistent data storage. This skill is essential for containerized scientific workflows where raw data must be read from the host and results written back.

When to use

When you have vendor raw mass spectrometry files on the host machine that need to be processed by a containerized tool (e.g., AirdPro), and the container must read input from and write output to specific host paths. Typical trigger: you have a .raw or other vendor format file at a known host path, and a Docker image that can convert it to mzML or Aird format.

When NOT to use

  • The input file is already inside the container image at a fixed path — direct mounting is unnecessary and may cause conflicts.
  • You need bidirectional real-time synchronization between host and container — use Docker volumes or bind mounts with careful concurrency control instead.
  • The input data is in a cloud storage bucket or remote URL and you want to avoid downloading to the host first — fetch into the container directly or use a separate orchestration layer.

Inputs

  • Host filesystem directory containing vendor raw files (e.g., .raw, .d folder)
  • Docker image URI or container name
  • Mount point path within the container (e.g., /data)

Outputs

  • Converted file written to the mounted host directory (e.g., .mzML, .aird)
  • Container logs and exit status

How to apply

Mount the host input directory to a standard container path (e.g., /data) using the -v flag in docker run. Place the vendor raw file in the mounted input directory on the host before invoking the container. Execute the container's CLI with arguments that reference the mounted paths (e.g., -i /data/input.raw -o /data/output.mzML). After container completion, retrieve the output file from the mounted directory on the host. Verify that the output file exists, is non-empty, and passes format validation (e.g., XML schema check for mzML).

Related tools

  • AirdPro (Containerized CLI tool that performs vendor raw file to mzML/Aird conversion; invoked with mounted input/output paths) — https://github.com/CSi-Studio/AirdPro
  • Docker Engine (Runtime that executes the mounted container and enforces volume mount isolation)
  • pwiz_bindings_cli.dll (ProteoWizard library bundled in the AirdPro container; performs the actual vendor format parsing and conversion)

Examples

docker run --rm -v $(pwd)/input:/data/input -v $(pwd)/output:/data/output airdpro:v6 run-cli.sh -i /data/input/sample.raw -o /data/output/sample.mzML

Evaluation signals

  • Output file exists at the expected host path after container exits with status 0.
  • Output file size is greater than zero and is appropriate for the data size (not truncated or corrupted).
  • Output mzML file parses as valid XML and contains expected MS data schema elements (spectrum, precursor, product).
  • Input file on host is not modified or deleted during or after container execution.
  • Container logs confirm successful file I/O at the mounted paths (e.g., 'Reading from /data/input.raw', 'Writing to /data/output.mzML').

Limitations

  • File permission mismatches between host UID/GID and container user may cause read or write errors; may require explicit ownership or mode flags.
  • Performance overhead from bind-mounting on macOS (Docker Desktop for Mac) is significant due to FUSE/osxfs; consider Docker volumes for large repeated I/O.
  • Mounted volumes are not persistent across container deletions unless they are named Docker volumes; bind mounts to host paths persist but tie deployment to a specific host directory layout.
  • Concurrent writes from multiple containers to the same mount point can cause corruption; serialize access or use file locking within containers.

Evidence

  • [other] Mount the input vendor raw file into the Docker container's /data directory: "Mount the input vendor raw file into the Docker container's /data directory. 2. Invoke run-cli.sh with arguments specifying input file path (-i /data/input.raw) and output file path (-o"
  • [other] The container executes AirdPro's CLI interface, which calls pwiz_bindings_cli.dll from ProteoWizard to perform the conversion from vendor format to mzML: "The container executes AirdPro's CLI interface, which calls pwiz_bindings_cli.dll from ProteoWizard to perform the conversion from vendor format to mzML."
  • [other] Verify the output mzML file is present and is valid XML: "4. Verify the output mzML file is present and is valid XML."
  • [methods] Docker Desktop for Mac (version 20.10+): "Docker Desktop for Mac (version 20.10+)"

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.