| Crates.io | docker-image |
| lib.rs | docker-image |
| version | 0.2.1 |
| created_at | 2024-11-17 13:54:02.41458+00 |
| updated_at | 2025-02-22 10:08:26.230808+00 |
| description | A simple, no_std-compatible Docker image reference parser with strict adherence to Docker's naming rules. |
| homepage | https://github.com/sunsided/docker-image-rs |
| repository | https://github.com/sunsided/docker-image-rs |
| max_upload_size | |
| id | 1451275 |
| size | 46,419 |
A utility crate for parsing Docker image references.
docker.io, ghcr.io)nginx, library/nginx)latest, v1.0.0)sha256:<64-character-digest>)#![no_std] compatible for embedded and minimal environments (however alloc remains a requirement).#![forbid(unsafe_code)] ensures memory safety.Supported Formats:
nginxnginx:latestdocker.io/library/nginxdocker.io/library/nginx:latestdocker.io/library/nginx@sha256:<digest>docker.io/library/nginx:latest@sha256:<digest>Not Supported:
use docker_image::DockerImage;
fn it_works() {
let image = DockerImage::parse("docker.io/library/nginx:latest").unwrap();
assert_eq!(image.registry, Some("docker.io".to_string()));
assert_eq!(image.name, "library/nginx".to_string());
assert_eq!(image.tag, Some("latest".to_string()));
assert_eq!(image.digest, None);
}
use docker_image::DockerImage;
fn it_works() {
let result = DockerImage::parse("nginx๐");
assert_eq!(result, Err(DockerImageError::InvalidFormat));
}
use docker_image::DockerImage;
fn it_works() {
let image = DockerImage {
registry: Some("docker.io".to_string()),
name: "library/nginx".to_string(),
tag: Some("latest".to_string()),
digest: None,
};
assert_eq!(format!("{}", image), "docker.io/library/nginx:latest");
}