/!\ WARNING - DEPRECATED - NOT MAINTAINED ANYMORE /!\
Given that the
ceph/daemon image has the same capabilities and is more featureful we would recommend to use it as a replacement.
This Dockerfile may be used to bootstrap a cluster or add the cluster configuration to a new host. It uses etcd to store the cluster config. It is especially suitable to setup ceph on CoreOS.
The following strategy is applied:
/etc/ceph/ceph.confis found, do nothing.
- If a cluster configuration is available, it will be written to
- If no cluster configuration is available, it will be bootstrapped. A lock mechanism is used to allow concurrent deployment of multiple hosts.
To bootstrap a new cluster run:
docker run -e ETCDCTL_PEERS=http://192.168.101.50:4001 -e MON_IP=192.168.101.50 -e MON_NAME=mymon -e CLUSTER=testing -v /etc/ceph:/etc/ceph ceph/config
This will generate:
monmap the config will be stored in etcd under
In case a configuration for the cluster is found, the configuration will be pulled from etcd and written to
Multiple concurrent invocations will block until the first host finished to generate the configuration.
The following environment variables can be used to configure the bootstrapping:
CONFIG_ROOTis the location in etcd for the ceph configuration (defaults to: "/ceph")
CLUSTERis the name of the ceph cluster (defaults to: "ceph")
CLUSTER_PATHis the location in etcd for the ceph configuration (defaults to: "
MON_NAMEis the name of the monitor. Usually the short hostname
MON_IPis the IP address of the monitor (public)
ETCDCTL_PEERSis a comma seperated list of etcd peers (e.g. http://192.168.2.4:4001)