pub struct ImageRef {
pub registry: Option<String>,
pub image: String,
pub tag: Option<String>,
pub hash: Option<String>,
}
Expand description
A parsed docker image reference
The Display
impl may be used to convert a parsed image back to a plain
string:
use dockerfile_parser::ImageRef;
let image = ImageRef::parse("alpine:3.11");
assert_eq!(image.registry, None);
assert_eq!(image.image, "alpine");
assert_eq!(image.tag, Some("3.11".to_string()));
assert_eq!(format!("{}", image), "alpine:3.11");
Fields§
§registry: Option<String>
an optional registry, generally Docker Hub if unset
image: String
an image string, possibly including a user or organization name
tag: Option<String>
An optional image tag (after the colon, e.g. :1.2.3
), generally inferred
to mean :latest
if unset
hash: Option<String>
An optional embedded image hash, e.g. sha256:...
. Conflicts with tag
.
Implementations§
Source§impl ImageRef
impl ImageRef
Sourcepub fn parse(s: &str) -> ImageRef
pub fn parse(s: &str) -> ImageRef
Parses an ImageRef
from a string.
This is not fallible, however malformed image strings may return unexpected results.
Sourcepub fn resolve_vars_with_context<'a>(
&self,
dockerfile: &'a Dockerfile,
) -> Option<(ImageRef, HashSet<String>)>
pub fn resolve_vars_with_context<'a>( &self, dockerfile: &'a Dockerfile, ) -> Option<(ImageRef, HashSet<String>)>
Given a Dockerfile (and its global ARG
s), perform any necessary
variable substitution to resolve any variable references in this
ImageRef
and returns a list of variables included in the end result.
If this ImageRef
contains any unknown variables or if any references are
excessively recursive, returns None; otherwise, returns the
fully-substituted string.
Sourcepub fn resolve_vars(&self, dockerfile: &Dockerfile) -> Option<ImageRef>
pub fn resolve_vars(&self, dockerfile: &Dockerfile) -> Option<ImageRef>
Given a Dockerfile (and its global ARG
s), perform any necessary
variable substitution to resolve any variable references in this
ImageRef
.
If this ImageRef
contains any unknown variables or if any references are
excessively recursive, returns None; otherwise, returns the
fully-substituted string.