This Docker image simply packages up the official
concourse binary and
configures it as the
ENTRYPOINT, with a bunch of sane defaults for Docker.
Configuration is done via
CONCOURSE_* environment variables. To discover
docker run concourse/concourse --help docker run concourse/concourse web --help docker run concourse/concourse worker --help
There are two Docker Compose
.yml files in this repo. The first one,
docker-compose.yml, runs a more traditional multi-container cluster. You'll
need to run
./generate-keys.sh before booting up, so that the containers know
how to authorize each other.
docker-compose-quickstart.yml file can be used to quickly get up and
running with the
concourse quickstart command. No keys need to be generated
in this case.
Both Docker Compose files configure a
test user with
test as their
password, and grants every user access to the
main team. To use this in
production you'll definitely want to change that - see Configuring Auth
Providers for more
Alternatively, these two Docker Run commands can be used to get
concourse-quickstart up and running with 2 containers. These command provide not only
concourse, but also a database instance for it to use.
docker network create concourse-net
docker pull postgres docker run --name concourse-db \ --net=concourse-net \ -h concourse-postgres \ -p 5432:5432 \ -e POSTGRES_USER=<PG USER> \ -e POSTGRES_PASSWORD=<PG P ASSWORD> \ -e POSTGRES_DB=atc \ -d postgres
docker pull concourse/concourse docker run --name concourse \ -h concourse \ -p 8080:8080 \ --detach \ --privileged \ --net=concourse-net \ concourse/concourse quickstart \ --add-local-user=<CONCOURSE_USER>:<CONCOURSE_PASSWORD> \ --main-team-local-user=<CONCOURSE_USER> \ --external-url=http://<DOCKER_MACHINE_IP>:8080 \ --postgres-user=<PG_USER> \ --postgres-password=<PG_PASSWORD> \ --postgres-host=concourse-db \ --worker-garden-dns-server 22.214.171.124
At the moment, workers running via Docker will not automatically leave the cluster gracefully on shutdown. This can mean your pipelines get into a bad state when you restart the cluster, as they'll keep trying to use the old worker.
For now you'll have to run
to reap any stalled workers when your cluster gets into this state.
This will be resolved with concourse/concourse #1457.