Dockerfiles are sorted into directories with names matching the
suggested repository. To avoid duplicating ephemeral data (namespace,
timestamp tag, …), they appear in the `Dockerfile.template` as markers
-(`NAMESPACE`, `TAG`, …). The `build.sh` script replaces the markers
-with values while generating a `Dockerfile` from each
-`Dockerfile.template`, and then builds each tag with:
+(`${NAMESPACE}`, `${TAG}`, …). The `build.sh` script replaces the
+markers with values while generating a `Dockerfile` from each
+`Dockerfile.template` (using [envsubst][]), and then builds each tag
+with:
$ docker build -t $NAMESPACE/$REPO:$TAG $REPO
`-- gentoo-en-us (adds locale)
`-- gentoo-syslog (adds syslog-ng and associates)
|-- buildbot (adds a Buildbot master and slave)
+ |-- docker-registry (adds a Docker registry server)
+ |-- gentoo-layman (adds layman for Gentoo overlays)
+ | `-- package-cache (adds a package-cache proxy)
+ |-- memcached (adds Memcached)
+ |-- nginx (adds Nginx)
+ | |-- nginx-proxy (SSL/TLS proxying via SNI)
+ | |-- kibana (adds Kibana)
+ | `-- kibana-azure (adds Azure's Kibana)
+ |-- ngircd (adds ngIRCd)
|-- postgresql (adds PostgreSQL)
|-- redis (adds Redis)
+ |-- salt-minion (adds a Salt Stack minion)
+ |-- stunnel (adds stunnel)
`-- gentoo-java (adds IcedTea)
+ `-- elasticsearch (adds Elasticsearch)
Run:
$ NAMESPACE=jdoe DATE=20131210 ./build.sh
I'd like to avoid bloating the images with the Portage tree, but
-without ugly hacks [that is not currently possible][3156] is mounted
-from the host.
+without ugly hacks [that is not currently possible][3156].
[Docker]: http://www.docker.io/
[Dockerfiles]: http://www.docker.io/learn/dockerfile/
[Gentoo]: http://www.gentoo.org/
+[envsubst]: http://www.gnu.org/software/gettext/manual/html_node/envsubst-Invocation.html
[parameter-expansion]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02
[3156]: https://github.com/dotcloud/docker/issues/3156