dockerfile

package
v3.7.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2017 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package dockerfile has utilities that complement Docker's official Dockerfile parser.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Env

func Env(m []KeyValue) (string, error)

Env builds an ENV Dockerfile instruction from the mapping m. Keys and values are serialized as JSON strings to ensure compatibility with the Dockerfile parser.

func FindAll

func FindAll(node *parser.Node, cmd string) []int

FindAll returns the indices of all children of node such that node.Children[i].Value == cmd. Valid values for cmd are defined in the package github.com/docker/docker/builder/dockerfile/command.

func From

func From(image string) (string, error)

From builds a FROM Dockerfile instruction referring the base image image.

func InsertInstructions

func InsertInstructions(node *parser.Node, pos int, instructions string) error

InsertInstructions inserts instructions starting from the pos-th child of node, moving other children as necessary. The instructions should be valid Dockerfile instructions. InsertInstructions mutates node in-place, and the final state of node is equivalent to what parser.Parse would return if the original Dockerfile represented by node contained the instructions at the specified position pos. If the returned error is non-nil, node is guaranteed to be unchanged.

func Label

func Label(m []KeyValue) (string, error)

Label builds a LABEL Dockerfile instruction from the mapping m. Keys and values are serialized as JSON strings to ensure compatibility with the Dockerfile parser.

func LastBaseImage

func LastBaseImage(node *parser.Node) string

LastBaseImage takes a Dockerfile root node and returns the base image declared in the last FROM instruction.

func LastExposedPorts

func LastExposedPorts(node *parser.Node) []string

LastExposedPorts takes a Dockerfile root node and returns a list of ports exposed in the last image built by the Dockerfile, i.e., only the EXPOSE instructions after the last FROM instruction are considered.

func Parse

func Parse(r io.Reader) (*parser.Node, error)

Parse parses the provided stream as a canonical Dockerfile

func ParseTreeToDockerfile

func ParseTreeToDockerfile(node *parser.Node) []byte

ParseTreeToDockerfile takes a Dockerfile AST node, as generated by parser.Parse, and returns a new, equivalent, Dockerfile.

Types

type KeyValue

type KeyValue struct {
	Key   string
	Value string
}

A KeyValue can be used to build ordered lists of key-value pairs.

Jump to

Keyboard shortcuts

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