This Dockerfile may be used to bootstrap a Ceph cluster or add a mon to an existing cluster.
The environment variables MON_NAME
and MON_IP
are required:
MON_NAME
is the name of the monitorMON_IP
is the IP address of the monitor (public)
For example:
docker run -e MON_IP=192.168.101.50 -e MON_NAME=mymon ceph/mon
If you have an existing Ceph cluster and are only looking to add a monitor, you will need at least four files in /etc/ceph
:
ceph.conf
- The main ceph configuration file, which may be obtained from an existing ceph monitorceph.client.admin.keyring
- The administrator key of the cluster, which may be obtained from an existing ceph monitor byceph auth get client.admin -o /tmp/ceph.client.admin.keyring
ceph.mon.keyring
- The monitor key, which may be obtained from an existinv ceph monitor byceph auth get mon. -o /tmp/ceph.mon.keyring
monmap
- The present monitor map of the cluster, which may be obtained from an existing ceph monitor byceph mon getmap -o /tmp/monmap
Otherwise, if you are bootstrapping a new cluster, these will be generated for you.
Commonly, you will want to bind-mount your host's /etc/ceph
into the container. For example:
docker run -e MON_IP=192.168.101.50 -e MON_NAME=mymon -v /etc/ceph:/etc/ceph ceph/mon