This operation builds an image from a docker file. It will not create or start a container.
Target Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Docker Server Address | FDDKR_DOCKER_SERVER | No | The IP address of the Docker server. Required if Docker Unix Socker is not set. |
Docker Port | FDDKR_DOCKER_PORT | No | The port the Docker service is listening on. Required if Docker Unix Socker is not set. |
Docker Unix Socket | FDDKR_UNIX_SOCKET | No | The socket the Docker daemon listens on. Required if Docker Server and Docker Port are not set. |
Inputs
Input Name | Input Code | Required | Description |
---|---|---|---|
Docker File | FDDKR_INP_DOCKER_FILE | No | The path to the Docker File to build. If empty Dockerfile is used as the name, and it is searched as specified in the next line. If an absolute path is given, it is used. Otherwise, the file is checked for relative to the FD_TEMP_DIR and any checkout folders. |
Docker File Arguments | FDDKR_INP_DOCKER_FILE_ARGS | No | The docker file arguments to use. These are the ARG instructions in the docker file. KeyValue pairs should be separated by "|" and the key and value should be separated by ",". Example: key1,value|key2,value|key3,value |
Docker Repository | FDDKR_INP_REPOSITORY | No | The image name/repository to create the image in. This is the REPOSITORY column when running the command 'docker images'. The image repository should be in lowercase |
Image Tag | FDDKR_INP_IMAGE_TAG | No | The tag to apply to the image. Use comma separated values to specify multiple tags. Example: 'latest, 1.2.3'. |
Tag Image with latest tag | FDDKR_INP_TAG_LATEST | No | Whether or not to tag the image that is built as latest. |
Docker Registry Account | FDDKR_INP_REGISTRY_ACCOUNT_CODE | No | The Registry you want to push the image to. There are a couple different spots to specify this for convenience. In order of precedence:
|
Push Image to repository | FDDKR_INP_PUSH_IMAGE | No | If the image should be pushed to the repository. |
Outputs
Output Name | Required | Description |
---|---|---|
FD_BUILT_DOCKER_IMAGE_ID | No | The image id that was created from the operation. The IMAGE_ID column when running the command 'docker images'. |
FD_BUILT_DOCKER_IMAGE_NAME | No | The built docker image name. The IMAGE_NAME column when running the command ‘docker images'. |
FD_BUILT_DOCKER_IMAGE | No | The built docker image. |
FD_BUILT_DOCKER_LINK | No | The link to the built docker image when pushed to a repository. |
Artifacts
This operation consumes a Dockerfile from the artifacts repository. Can also be overridden through the docker file input.
Endpoint Selection
This operation delegates the selection to the workflow developer to determine.
Endpoint Execution
This operations delegates the execution to the workflow developer to decide.
Special Considerations
Build Args were not consumed
If using the 'Docker File Arguments' input and the docker file doesn't contain a matching ARG instruction, the operation will fail with the following error:
'com.github.dockerjava.api.exception.DockerClientException: Could not build image: One or more build-args were not consumed, failing build.'
To correct this, either remove the key/value mapping from the input or add an ARG instruction for the missing key in your docker file.
Docker Repository Required?
The 'Docker Repository' input is not required to build the image but in order to make use of other docker functionality, like pushing to a registry, you need to specify a repository. If you forgot to specify a repository on build you can tag the image from the command line at any point.
docker tag %ImageId% %RepoName%:%tagName%