Files
fn-serverless/images/dind
jan grant 025e598c4b Selective releasing (#708)
* Rejig the build process

During a build, we check and rebuild any dependencies prior to
potentially using them.

Build:
- DIND (this only produces a new docker image, no local code changes)
- fnserver (built as part of the testing)

On master, if everything works, then we release the built artifacts,
if necessary:
- DIND (this pushes a docker image and a tag)
- fnserver (this builds the docker image and releases it, if necessary).

Fnserver is dealt with last by the release script: all previous steps
in CI use locally-run go tests rather than a docker file.

When a commit happens, we need to know (a) if we need to rebuild
a set of tools and artifacts (or whether we can continue to use
published ones); and (b) if we need to release new versions of
those tools, if all tests pass.

We do this by identifying the previous release tag on origin/master
(which is the release branch), then checking for changes between
that point at the current one.

Those changes may appear in various places in the tree: some simple
boolean rules work out whether the change means we need to rebuild
and rerelease.

* Make the fnproject/fnserver build use the latest dind

As docker bumps from 17.12.x, use whatever dind we just built.

* Use bash
2018-02-01 12:43:43 +00:00
..
2017-05-18 18:59:34 +00:00
2018-02-01 12:43:43 +00:00
2018-02-01 12:43:43 +00:00

Docker-in-Docker Base Image

This is the base image for all docker-in-docker images.

The difference between this and the official docker images are that this will choose the best filesystem automatically. The official ones use vfs (bad) by default unless you pass in a flag.

It will also attempt to mirror the default external interface's MTU to the dind network; this addresses a problem with running dind-based images on a kubernetes cluster with an overlay network that takes a chunk out of pods' MTUs.

Usage

Just use this as your base image and use CMD for your program, NOT ENTRYPOINT. This will handle the rest.

FROM fnproject/dind
# OTHER STUFF
CMD ["./myproggie"]