image

package module
v0.0.0-...-7a89b4c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2017 License: Apache-2.0 Imports: 0 Imported by: 0

README

GoDoc Build Status

image is a set of Go libraries aimed at working in various way with containers' images and container image registries.

The containers/image library allows application to pull and push images from container image registries, like the upstream docker registry. It also implements "simple image signing".

The containers/image library also allows you to inspect a repository on a container registry without pulling down the image. This means it fetches the repository's manifest and it is able to show you a docker inspect-like json output about a whole repository or a tag. This library, in contrast to docker inspect, helps you gather useful information about a repository or a tag without requiring you to run docker pull.

The containers/image library also allows you to translate from one image format to another, for example docker container images to OCI images. It also allows you to copy container images between various registries, possibly converting them as necessary, and to sign and verify images.

The skopeo tool uses the containers/image library and takes advantage of its many features.

Dependencies

Dependencies that this library prefers will not be found in the vendor directory. This is so you can make well-informed decisions about which libraries you should use with this package in your own projects.

What this project tests against dependencies-wise is located here.

Building

For ordinary use, go build ./... is sufficient.

When developing this library, please use make to take advantage of the tests and validation.

Optionally, you can use the containers_image_openpgp build tag (using go build -tags …, or make … BUILDTAGS=…). This will use a Golang-only OpenPGP implementation for signature verification instead of the default cgo/gpgme-based implementation; the primary downside is that creating new signatures with the Golang-only implementation is not supported.

License

ASL 2.0

Contact

  • Mailing list: containers-dev
  • IRC: #container-projects on freenode.net

Documentation

Overview

Package image provides libraries and commands to interact with containers images.

package main

import (
	"fmt"

	"github.com/containers/image/docker"
)

func main() {
	ref, err := docker.ParseReference("//fedora")
	if err != nil {
		panic(err)
	}
	img, err := ref.NewImage(nil)
	if err != nil {
		panic(err)
	}
	defer img.Close()
	b, _, err := img.Manifest()
	if err != nil {
		panic(err)
	}
	fmt.Printf("%s", string(b))
}

TODO(runcom)

Directories

Path Synopsis
reference
Package reference provides a general type to represent any way of referencing images within the registry.
Package reference provides a general type to represent any way of referencing images within the registry.
tarfile
Package tarfile is an internal implementation detail of some transports.
Package tarfile is an internal implementation detail of some transports.
gluster
Package image consolidates knowledge about various container image formats (as opposed to image storage mechanisms, which are handled by types.ImageSource) and exposes all of them using an unified interface.
Package image consolidates knowledge about various container image formats (as opposed to image storage mechanisms, which are handled by types.ImageSource) and exposes all of them using an unified interface.
oci
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL