Giter Site home page Giter Site logo

dockerfile's Introduction

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-python (drops Python 2.7)
        `-- 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)
                        |   `-- thumbor  (adds Thumbor)
                        |-- gentoo-node  (adds Node and npm)
                        |   `-- hubot  (adds hubot with an IRC adapter)
                        |-- irker  (adds irker, and spawns irkerd by default)
                        |-- memcached  (adds Memcached)
                        |-- nagios  (adds Nagios)
                        |-- 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  (adds a Salt Stack install)
                        |   |-- salt-master  (enables a Salt Stack master)
                        |   `-- salt-minion  (enables 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.

dockerfile's People

Contributors

wking avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dockerfile's Issues

ssh?

Hi, could you tell me which of these has SSH enabled?
Thanks

gentoo-java failed through missing USE=-introspection -gtk in Dockerfile.template

Hi,

I ran into an error while building the gentoo-java image.

I added the USE flags -gtk and -introspection to the Dockerfile.template and the build process started. ;)

NAMESPACE=j0inty DATE=20151015 ./build.sh build

Removing intermediate container 05fa442c3715
Step 3 : RUN emerge -v dev-java/icedtea-bin
 ---> Running in 2067b814263f

These are the packages that would be merged, in order:

Calculating dependencies  ... done!

!!! The ebuild selected to satisfy ">=dev-libs/gobject-introspection-1.31.0" has unmet requirements.
- dev-libs/gobject-introspection-1.44.0::gentoo USE="-cairo -doctool -test" ABI_X86="64" PYTHON_TARGETS="-python2_7"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python_targets_python2_7

  The above constraints are a subset of the following complete expression:
    python_targets_python2_7 test? ( cairo )

(dependency required by "gnome-base/gsettings-desktop-schemas-3.16.1::gentoo[introspection]" [ebuild])
(dependency required by "dev-java/icedtea-bin-7.2.6.1::gentoo" [ebuild])
(dependency required by "dev-java/icedtea-bin" [argument])
The command '/bin/sh -c emerge -v dev-java/icedtea-bin' returned a non-zero code: 1
failed to build gentoo-java

failed to import when doing ./build.sh for dockerfiles

I exceuted the command with

$ DATE=20140619 ./build.sh

and I got the error

2014/06/24 03:28:01 Error: bzip2 data invalid: superfluous level in Huffman tree
failed to import

Do we have any workaround here?

my os: gentoo
my docker version

Client version: 0.11.1
Client API version: 1.11
Go version (client): go1.2
Git commit (client): fb99f99
Server version: 0.11.1
Server API version: 1.11
Git commit (server): fb99f99
Go version (server): go1.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.