Previously, Fedora was set as the default image prefix. Since our reference architecture focuses on CentOS, the default image prefix has been changed accordingly. Change-Id: I794ac1aa035d793204fa315752ae8188ce872a3e
2.3 KiB
Image building
The tools/build-docker-image
script in this repository is
responsible for building docker images. It is symlinked as ./build
inside each Docker image directory.
When creating new image directories, you can run the
tools/update-build-links
scripts to install the build
symlink
(this script will install the symlink anywhere it find a file named
Dockerfile
).
Workflow
In general, you will build images like this:
$ cd docker/keystone
$ ./build
By default, the above command would build
kollaglue/centos-rdo-keystone:CID
, where CID
is the current short
commit ID. That is, given:
$ git rev-parse HEAD
76a16029006a2f5d3b79f1198d81acb6653110e9
The above command would generate
kollaglue/centos-rdo-keystone:76a1602
. This tagging is meant to
prevent developers from stepping on each other or on release images
during the development process.
To push the image after building, add --push
:
$ ./build --push
To use these images, you must specify the tag in your docker run
commands:
$ docker run kollaglue/centos-rdo-keystone:76a1602
Building releases
To build into the latest
tag, add --release
:
$ ./build --release
Or to build and push:
$ ./build --push --release
Build all images at once
The build-all-docker-images
script in the tools directory is a wrapper for
the build-docker-image
that builds all images, as the name suggests, in the
correct order. It responds to the same options as build-docker-image
with the
additional --from
and --to
options that allows building only images that
have changed between the specified git revisions.
For example, to build all images contained in docker directory and push new release:
$ tools/build-all-docker-images --release --push
To build only images modified in test-branch along with their children:
$ tools/build-all-docker-images --from master --to test-branch
Configuration
The build-docker-image
script will look for a file named .buildconf
in the image directory and in the top level of the repository. You
can use this to set defaults, such as:
NAMESPACE=larsks
PREFIX=fedora-rdo-
This setting would cause images to be tagged into the larsks/
namespace and use Fedora as base image instead of the default CentOS.