ceph-container

在容器中运行 ceph 的 docker 文件和 images。(Docker files and images to run Ceph in containers.)

Github stars Tracking Chart

ceph-container

Ceph Daemon Stars
Ceph Daemon Pulls

Build Ceph into container images with upstream support for the latest few Ceph
releases on CentOS. ceph-container also supports builds for multiple distributions.

Find available container image tags

All tags can be found on the Docker Hub.
For the daemon-base tags visit.
For the daemon tags visit.

Alternatively, you can run the following command (install jq first):

$ curl -s https://registry.hub.docker.com/v2/repositories/ceph/daemon/tags/?page_size=100, jq '."results"[] .name'

Be careful, this will only show the latest 100 tags. To improve your curl you can pass a page number: https://registry.hub.docker.com/v2/repositories/ceph/daemon/tags/?page_size=100&page=2 or use the following bash script to search multiple pages:

This will search for all tags with both stable and nautlius in the latest 2000

for i in {1..20}; do \
    curl -s https://registry.hub.docker.com/v2/repositories/ceph/daemon/tags/?page_size=100\&page=$i, jq '."results"[] .name'; \
done, awk '/stable/ && /nautilus/'

Stable images

Since everyone doesn't use Docker Hub API and Docker Hub WebUI doesn't paginate. It's hard to see all available stable images.

Starting August 22th 2018, Ubuntu images are no longer supported. Only openSUSE and CentOS images will be shipped.

Here is an example list of available stable Ceph images

ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7
ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64
ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-aarch64
ceph/daemon:v3.0.3-stable-3.0-luminous-centos-7-x86_64
ceph/daemon:v3.0.2-stable-3.0-luminous-centos-7-x86_64
ceph/daemon:v3.0.1-stable-3.0-luminous-centos-7-x86_64
ceph/daemon:tag-stable-3.0-luminous-centos-7

Development images

It is possible to build a container running the latest development release (master). It also includes the latest development packages from the nfs-ganesha project.

This is only available on CentOS with the following command :
make FLAVORS="master,centos,7" build

Alternatively, you can build a container image based on wip-* branch:

make FLAVORS="wip-super-code,centos,7" build

To build your branch on Centos 7 on the wip-super-code branch.

It's also possible to use the Ceph development builds instead of the stable one (except for master).
The ceph packages will be pulled from shaman/chacra repositories.
The Ceph development images are using the latest-<release>-devel tag where release is the ceph
release name (ie: luminous, mimic, nautilus)

make CEPH_DEVEL=true FLAVORS="nautilus,centos,7" build

This will generate the following container images:

ceph/daemon:latest-nautilus-devel
ceph/daemon-base:latest-nautilus-devel

Core Components

  • ceph/daemon-base: Base container image containing Ceph core components.
  • ceph/daemon: All-in-one container containing all Ceph daemons.

See README files in subdirectories for instructions on using containers.

Building ceph-container

make is used for ceph-container builds. See make help for all make options.

Specifying flavors for make

The make tooling allows the environment variable FLAVORS to be optionally set by the user to
define which flavors to operate on. Flavor specifications follow a strict format that declares what
Ceph version to build and what container image to use as the base for the build. See make help for
a full description.

Building a single flavor

Once the flavor is selected, specify its name in the FLAVORS environment variable and call the
build target:

make FLAVORS=luminous,centos,7 build

Building multiple flavors

Multiple flavors are specified by separating each flavor by a space and surrounding the entire
specification in quotes and built the same as a single flavor:

make FLAVORS="luminous,centos,7 mimic,opensuse,42.3"  build

Flavors can be built in parallel easily with the build.parallel target:

make FLAVORS="<flavor> <other flavor> <...>" build.parallel

Building with a specific version of Ceph

Some distributions can select a specific version of Ceph to install.
You just have to append the required version to the ceph release code name.

The required version will be saved in CEPH_POINT_RELEASE variable (including the version separator).
The version separator is usually a dash ('-') or an equal sign ('=').
CEPH_POINT_RELEASE remains empty if no point release is given.

Note that CEPH_VERSION variable still feature the ceph code name, luminous in this example.

make FLAVORS=luminous-12.2.2,centos,7 build

Presentations

Main metrics

Overview
Name With Ownerceph/ceph-container
Primary Language
Program languageShell (Language Count: 0)
PlatformLinux
License:
所有者活动
Created At2015-01-21 17:22:51
Pushed At2024-12-12 18:30:04
Last Commit At
Release Count81
Last Release Namev7.0.3 (Posted on )
First Release Namev3.0.1 (Posted on )
用户参与
Stargazers Count1.3k
Watchers Count93
Fork Count519
Commits Count2.4k
Has Issues Enabled
Issues Count646
Issue Open Count5
Pull Requests Count1415
Pull Requests Open Count0
Pull Requests Close Count193
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private