Skip to content

edgeXDocker

Overview

Shared library that contains convenience functions for interacting with Docker. This shared library contains numerous functions so only a summary will be provided for each given function. If you have further questions about implementation details please refer to the source code.

Functions:

  • edgeXDocker.build: Build a docker image from optional baseImage with a set of default: docker build_args, labels, and tags.
  • edgeXDocker.buildInParallel: Build multiple docker images in parallel. This technique utilizes docker compose to build multiple images using the parallel flag.
  • edgeXDocker.generateDockerComposeForBuild: Supporting function for edgeXDocker.buildInParallel that generates a docker compose file for a given list of docker images.
  • edgeXDocker.generateServiceYaml: Supporting function for edgeXDocker.buildInParallel that generates service level yaml for a specific docker image.
  • edgeXDocker.push: Push a specific docker image and optionally tag it with the latest tag. A nexus repository can also optionally be specified as well as specific tags.
  • edgeXDocker.pushAll: Push all docker images specified in the dockerImages list. To be used in conjunction with the same input format used by edgeXDocker.buildInParallel to push all images.
  • edgeXDocker.getDockerTags: Generates the default set of tags used when pushing all edgex docker images with the edgeXDocker.push function.
  • edgeXDocker.finalImageName: Prepends a docker image with env.DOCKER_REGISTRY_NAMESPACE if defined.
  • edgeXDocker.cleanImageUrl: Returns image url without protocol.
  • edgeXDocker.parse: Reads a docker image url and returns the parsed image object components.
  • edgeXDocker.toImageStr: Returns docker image string from an image object.

Parsed image object

[
   host: hostname if any associated with the image,
   fullImage: full image name with tag,
   namespace: namespace of the image if any,
   image: image name without tag,
   tag: tag associated with the image if any
]