Skip to content

clockworkorange/dockerfile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dockerfiles for assorted Gentoo-based Docker images.

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 (using envsubst), and then builds each tag with:

$ docker build -t $NAMESPACE/$REPO:$TAG $REPO

for example:

$ docker build -t wking/gentoo-en-us:20131205 gentoo-en-us

The dependency graph is:

wking/gentoo  (amd64 stage3)
`-- gentoo-portage  (adds portage directory)
    `-- gentoo-utc  (adds a system timezone)
        `-- gentoo-en-us  (adds locale)
            `-- gentoo-openrc  (configure OpenRC for Docker)
                `-- 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)
                    |-- gentoo-node  (adds Node and npm)
                    |   `-- hubot  (adds hubot with an IRC adapter)
                    |-- irker  (adds irker, and spawns irkerd by default)
                    |-- 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:

$ ./build.sh

to seed from the Gentoo mirrors and build all images. There are a number of variables in the build.sh script that configure the build (AUTHOR, NAMESPACE, …). We use POSIX parameter expansion to make it easy to override variables as you see fit.

$ 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published