Home  >  Article  >  Operation and Maintenance  >  How to store docker deployment ceph

How to store docker deployment ceph

PHPz
PHPzOriginal
2023-04-19 17:25:30666browse

This article will introduce in detail how to use Docker to deploy and store Ceph.

Ceph is an open source distributed storage system with high availability and strong scalability. It can run on ordinary hardware and supports a variety of storage protocols, such as Block, Object and File. Docker is a popular containerization platform that enables rapid deployment and management of applications. Using Ceph with Docker, we can easily run Ceph in a container and use it as a storage backend.

Below we will introduce how to use Docker to deploy Ceph and store it:

  1. Install Docker

Before we start, we need to install Docker first. You can install the corresponding Docker according to your own operating system version. For specific installation methods, please refer to Docker official documentation.

  1. Create a Ceph image

To run Ceph in Docker you need to create an image first. You can use a Dockerfile to build an image, or you can download an existing Ceph image from Docker Hub.

The method of using Dockerfile to build an image is as follows:

FROM ceph/daemon:latest

Save the above code as a Dockerfile, and then execute the following command to build the image:

docker build -t myceph .

where myceph represents the custom image name .

  1. Deploying Ceph

Before deploying Ceph, you need to create a network to ensure that Ceph-related containers can communicate with each other. You can use the following command to create a Docker network named ceph_network:

docker network create ceph_network

Then use the following command to run Ceph:

docker run -d --net=ceph_network --name=mon myceph /bin/bash -c "ceph-mon --mkfs -i myname && ceph-mon -i myname"
docker run -d --net=ceph_network --name=mgr myceph ceph-mgr -i myname
docker run -d --net=ceph_network --name=osd1 -v /dev/sdb:/dev/sdb -v /data:/var/lib/ceph/osd/ceph-0 myceph /bin/bash -c "ceph-osd --mkfs --osd-uuid myuuid && ceph-osd -i 0"

Among them, mon means the monitor, mgr means the manager, and osd1 means the first data node, /dev/sdb represents the hard disk device, and /data represents the directory used to store data.

  1. Configuring Ceph

After Ceph deployment is completed, some configuration is required. You can use the following command to create a Ceph user:

ceph auth get-or-create client.docker mon 'allow r' mgr 'allow r' osd 'allow rwx pool=data'

and then use this user for access in the application.

  1. Storing data

Ceph supports multiple storage protocols, such as Block, Object and File. The following uses Block storage as an example for explanation.

You can use the following command to create a Pool in Ceph:

ceph osd pool create mypool 50

Then use the following command to create a block device in the Pool:

rados -p mypool create myblock --size 1024

Finally use the following command to The block device is mapped locally:

rbd map mypool/myblock

Now you can write data to the block device and use the device to read and write in the application.

Summary

This article introduces how to use Docker to deploy Ceph and store it. From creating images, deploying Ceph, configuring Ceph to storing data, it comprehensively demonstrates how to use Ceph in Docker. Hope this article is helpful to you.

The above is the detailed content of How to store docker deployment ceph. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn