# Docker Image Management

> Use when when you need to confirm that a published Docker image (e.g., hosted on Docker Hub) can be pulled and instantiated successfully, and when the target tool has a defined entry point or CLI interface.

- Skill: `holobiomicslab/docker-image-management` (Agent Skill)
- Install (CLI): `npx skillmds@latest add holobiomicslab/docker-image-management`
- Raw SKILL.md: https://api.skillmd.com/api/skills/holobiomicslab/docker-image-management/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: CC-BY-4.0
- Author: HolobiomicsLab (https://skillmd.com/u/holobiomicslab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/holobiomicslab/docker-image-management

---


# docker-image-management

## Summary

Verify and launch a Docker container image for a scientific tool to confirm that the containerized environment is accessible and functional without manual installation overhead. This skill is essential when reproducibility and portability are required across heterogeneous computational environments.

## When to use

When you need to confirm that a published Docker image (e.g., hosted on Docker Hub) can be pulled and instantiated successfully, and when the target tool has a defined entry point or CLI interface. This is particularly valuable before committing to a containerized workflow or when onboarding users who lack native tool installation.

## When NOT to use

- The tool is already installed natively on the host system and container overhead is undesirable.
- The Docker image is not published or accessible (e.g., private registry without credentials).
- Your workflow requires GPU or specialized hardware not yet mapped to the container.

## Inputs

- Docker image name and registry URL (e.g., adafede/tima-r on Docker Hub)
- Optional: environment variables, volume mount paths, memory/CPU constraints

## Outputs

- Confirmed container execution logs
- Tool version or help output from within the container
- Verification that the entry point is functional

## How to apply

First, pull the Docker image from its registry (e.g., Docker Hub) using `docker pull <image_name>`. Second, launch a container instance from the pulled image with appropriate resource limits and volume mounts for your use case. Third, execute a diagnostic command within the running container (e.g., `--help` or `--version`) to confirm the entry point is accessible and the tool responds correctly. This three-step smoke test catches registry availability, image integrity, and runtime configuration issues before production use.

## Related tools

- **Docker** (Container runtime and image management system; used to pull, build, and run container images.) — https://docs.docker.com/
- **Docker Hub** (Public registry where pre-built Docker images are stored and retrieved via `docker pull`.) — https://hub.docker.com/
- **tima (R package)** (The target scientific tool; containerized as adafede/tima-r; entry point is validated via `tima::run_app()` or help commands.) — https://github.com/taxonomicallyinformedannotation/tima

## Examples

```
docker pull adafede/tima-r && docker run --user tima-user --memory="12g" -v "$(pwd)/.tima/data:/home/tima-user/.tima/data" -p 3838:3838 adafede/tima-r
```

## Evaluation signals

- The `docker pull` command completes without checksum or integrity errors.
- The `docker run` command starts without timeout, resource exhaustion, or missing dependency errors.
- The diagnostic command (e.g., `tima --version` or R help) executes within the container and returns meaningful output.
- The container's exit code is 0 (success) after the diagnostic completes.
- Mounted volumes (if any) are readable and writable; data persists to the host filesystem.

## Limitations

- Docker must be installed and the daemon running on the host; does not work in environments where container runtime is unavailable.
- Network access is required to pull images from Docker Hub; air-gapped or restricted networks require a private registry.
- Memory and CPU limits must be tuned for the specific tool and dataset; the README recommends `--memory="12g"` for tima but this may be insufficient for large metabolomic datasets.
- The entry point command must be known in advance; tools with non-standard or undocumented entry points may require inspection of the Dockerfile.

## Evidence

- [other] task workflow: "Pull the Docker image adafede/tima-r from Docker Hub using docker pull. 2. Launch a container instance from the pulled image. 3. Execute a tima help or version command within the running container to"
- [readme] docker image availability: "A container is also available, together with a small compose file. Main commands are below: docker pull adafede/tima-r"
- [readme] docker run with resource constraints: "docker run --user tima-user --memory="12g" -v "$(pwd)/.tima/_targets:/home/tima-user/.tima/_targets" -v "$(pwd)/.tima/data:/home/tima-user/.tima/data" -p 3838:3838 adafede/tima-r"
- [readme] docker badge presence: "[![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=white.png)](https://hub.docker.com/r/adafede/tima-r/)"

